Pre vývojárov

Dokumentácia API

REST API pre slovenskú povinnú e-fakturáciu. Vystavíte doklad, dostanete ho v EN 16931 / Peppol BIS 3.0, doručíme ho odberateľovi aj Finančnej správe a dáme vedieť webhookom.

Základná adresa http://127.0.0.1:3100 · verzia 0.1.0 · úplná referencia (Swagger) · OpenAPI JSON

Rýchly štart

Začnite testovacím kľúčom. Vydáva sa v administrácii po registrácii a je zadarmo — sandbox sa neúčtuje, lebo účtovať niekomu, že skúša, je najspoľahlivejší spôsob, ako ho odnaučiť skúšať. Doklady z neho sa nikdy neodošlú do Peppolu ani Finančnej správe, majú vlastný číselný rad s predponou TEST- a nevstupujú do DPH prehľadov.

# 1. Vystavte doklad. Idempotency-Key je vaše číslo objednávky.
curl -X POST http://127.0.0.1:3100/v1/documents \
  -H "Authorization: Bearer kvi_test_..." \
  -H "Idempotency-Key: objednavka-1042" \
  -H "content-type: application/json" \
  -d '{
    "issueDate": "2027-03-14",
    "taxPointDate": "2027-03-14",
    "dueDate": "2027-03-28",
    "buyer": {
      "name": "Odberateľ s.r.o.",
      "vatNumber": "SK2020317068",
      "address": { "street": "Hlavná 1", "city": "Bratislava",
                   "postalCode": "81101", "countryCode": "SK" }
    },
    "lines": [{
      "name": "Konzultácie", "quantity": "8", "unitCode": "HUR",
      "netUnitPrice": "75.00", "vat": { "category": "S", "rate": "23" }
    }]
  }'

# 2. Vystavenie mu pridelí číslo. Až tu doklad prestáva byť meniteľný.
curl -X POST http://127.0.0.1:3100/v1/documents/{id}/issue \
  -H "Authorization: Bearer kvi_test_..." \
  -H "Idempotency-Key: objednavka-1042-issue"
Sumy sa posielajú ako reťazce. "75.00", nie 75.00. JSON number je IEEE 754 double a nevie presne vyjadriť peňažnú sumu — neposielame ich tak ani my, ani vy.

Tri veci, ktoré si v ručne písanom klientovi treba ustrážiť: idempotency kľúč musí prežiť opakovanie, vetviť sa treba podľa stabilného kódu chyby a nie podľa jej textu, a podpis webhooku sa overuje nad surovým telom. Presne to za vás urobia knižnice nižšie, keď vyjdú.

Knižnice a pluginy

Každá z nich existuje preto, že v ručne písaných klientoch sa opakovali tie isté tri chyby: chýbajúci idempotency kľúč pri opakovaní, vetvenie podľa textu chyby namiesto kódu, a overovanie podpisu webhooku nad znovuzloženým JSON-om namiesto surového tela.

Zatiaľ ani jedna nie je v balíkovom registri. Kód je hotový a otestovaný, ale npm, Packagist ani PyPI ich ešte nepoznajú — preto tu nenájdete inštalačný príkaz. Radšej nič, než príkaz, ktorý vám vráti 404. Dovtedy sa integruje priamo cez REST API vyššie; kto chce balík skôr, nech nám napíše.
@kvitos/sdkpripravujeme
JavaScript a TypeScript. Drží idempotency kľúč naprieč opakovaniami, rozlišuje chyby stabilným kódom a overí podpis webhooku nad surovým telom.
kvitos/sdkpripravujeme
PHP 8.1+. To isté, bez závislostí okrem cURL.
kvitos/laravelpripravujeme
Service provider, konfigurácia, fasáda a hotová webhook cesta s overeným podpisom.
kvitospripravujeme
Python 3.9+. Bez závislostí — finančný skript, ktorý by si musel doinštalovať requests do uzavretého prostredia, sa nenainštaluje.
@kvitos/mcppripravujeme
MCP server pre AI asistenta. Beží u vás, s vaším kľúčom. Vidí doklady a pripraví koncept — vystaviť nedokáže. Viac v sekcii nižšie.
WooCommercepripravujeme
Doplnok: objednávka sa vyfakturuje pri prechode do stavu, ktorý si zvolíte. Faktúra ide zákazníkovi aj do Peppolu.
PrestaShoppripravujeme
Modul: faktúra pri vytvorení objednávky alebo po zaplatení, dobropis z opravného dokladu.

Konektor na Shoptet máme napísaný, doplnok v ich katalógu ešte nie. Keď ktorákoľvek z týchto vecí vyjde, objaví sa v zozname zmien — nie v tichosti.

Kľúče a rozsahy

Authorization: Bearer kvi_… pre ostrý kľúč, kvi_test_… pre sandbox. Kľúč vidí len to, na čo bol vydaný; pri chýbajúcom rozsahu príde 403 insufficient_scope a v správe je uvedené, ktorý rozsah chýba.

Povolený je konkrétny rozsah, skupinový zástupný znak (documents:*) aj *. Pre e-shop zvyčajne stačí documents:*, customers:* a lookup:read.

RozsahČo umožňuje
documents:readČítanie dokladov, PDF, UBL, príloh.
documents:writeVytvorenie a vystavenie dokladu, odoslanie, upomienka.
customers:read / customers:writeOdberatelia.
payments:read / payments:writePlatby, bankové pohyby, import výpisu.
expenses:read / expenses:writeNáklady a prijaté doklady.
inbound:read / inbound:writePrijaté doklady z Peppolu.
catalog:read / catalog:writeCenník.
commercial:read / commercial:writePonuky, objednávky, dodacie listy.
recurring:read / recurring:writePravidelná fakturácia.
reports:readŠtatistiky, DPH prehľady, audit log.
exports:read / exports:writeÚčtovné exporty a odoslanie do účtovníctva.
webhooks:manageSpráva endpointov a log doručení.
settings:read / settings:manageNastavenia subjektu a šablóny.
users:managePoužívatelia a API kľúče.
lookup:readHľadanie firmy v registroch RPO, RÚZ, VIES a ARES a overenie IČ DPH.
jobs:runSpustenie naplánovaných úloh.

AI asistent (MCP)

@kvitos/mcp pripojí vášho asistenta — Claude, Cursor — k vašim dokladom. Beží na vašom počítači s vaším kľúčom; nič z toho nehostíme. Odpovedá na otázky, ktoré si aj tak kladiete: kto mi dlhuje, prečo tá faktúra neodišla, nie je tento náklad zapísaný dvakrát.

Faktúru nevystaví a návrh, ktorý pripraví, potvrdzuje človek — kľúč to nedokáže, nech má akékoľvek rozsahy.

Návod na pripojenie asistenta

Opakovanie zápisov

Číselný rad je bez medzier, takže duplicitnú faktúru nemožno zmazať — len dobropisovať. Ak vám vypadne spojenie a neviete, či požiadavka prešla, zopakujte ju s tým istým Idempotency-Key.
  • Ten istý kľúč a to isté telo → uložená odpoveď, označená hlavičkou Idempotency-Replayed: true.
  • Ten istý kľúč, iné telo → 422 idempotency_key_reused. To je znovupoužitý kľúč, nie opakovanie.
  • Ten istý kľúč, kým prvá požiadavka beží → 409, skúste o chvíľu.
  • Prvá požiadavka spadla na 5xx → neuloží sa nič, opakovanie je naozaj opakovanie.
  • Uložený výsledok je k dispozícii 24 hodín.

Najlepší kľúč je niečo prirodzené — číslo objednávky. Vygenerovaný náhodný kľúč ochráni pred prerušeným spojením, nie pred vaším vlastným dvojitým volaním.

Chyby a limity

{
  "error": {
    "code": "insufficient_scope",
    "message": "API kľúč nemá rozsah documents:write."
  }
}

Rozhodujte sa podľa code, nie podľa textu — text je slovenská veta pre človeka a môže sa zmeniť. Pri chybe validácie pribudne pole issues s konkrétnymi poľami.

KódStavVýznam
unauthorized401Chýbajúci alebo neplatný kľúč.
key_expired401Kľúču uplynula platnosť.
insufficient_scope403Kľúč nemá potrebný rozsah — správa ho pomenuje.
rate_limited429Prekročený limit rýchlosti. Počkajte podľa Retry-After.
quota_exceeded402Vyčerpaný mesačný počet dokladov, alebo je účet pozastavený.
shop_limit_reached402Plán zahŕňa menej e-shopov, než je pripojených.
idempotency_key_reused422Ten istý kľúč s iným telom požiadavky.
idempotency_in_progress409Prvá požiadavka ešte beží. Skúste o chvíľu.
already_issued409Doklad už bol vystavený.
document_invalid422Doklad neprešiel kontrolou; pole `issues` hovorí prečo.
invalid_cursor400Cursor nepochádza z našej odpovede.

Je to na našej strane? Aktuálny stav doručovania, hlásenia a fronty je na kvitos.sk/stav — bez prihlásenia, a strojovo na GET /v1/status.

Každá odpoveď nesie RateLimit-Limit, RateLimit-Remaining a RateLimit-Reset. Pri prekročení príde 429 s Retry-After v sekundách. Rýchlosť určuje plán zákazníka.

Mesačný počet dokladov je iná vec než rýchlosť: pri jeho vyčerpaní príde 402 quota_exceeded. Opakovanie nepomôže — pomôže vyšší plán alebo ďalšie obdobie. Aktuálny stav vráti GET /v1/subscription. Testovacie doklady sa do limitu nepočítajú, takže sandbox funguje aj vtedy, keď je ostrá kvóta vyčerpaná.

Webhooky

Udalosti: document.issued, document.paid, document.credited, payment.matched, payment.unmatched, delivery.delivered, delivery.failed, inbound.received, tax.reported, tax.rejected, ping.

import { parseWebhook } from "@kvitos/sdk";

app.post("/webhooks/kvitos",
  express.raw({ type: "application/json" }),   // surové telo!
  (req, res) => {
    const event = parseWebhook(
      process.env.KVITOS_WEBHOOK_SECRET,
      req.body.toString("utf8"),
      req.get("kvitos-signature"),
    );

    if (event.event === "document.paid") {
      // Uvoľnite objednávku.
    }

    res.sendStatus(200);   // Odpovedzte rýchlo, prácu si zaraďte do fronty.
  });
Podpis overujte nad surovým telom. Rozparsovanie a znovuzloženie JSON-u zmení bajty a podpis nebude sedieť — je to najčastejšia chyba pri webhookoch vôbec.

Doručenie sa opakuje s odstupmi 30 s → 2 min → 10 min → 1 h → 6 h → 24 h. Hlavička kvitos-delivery je stále tá istá, takže podľa nej rozpoznáte opakovanie tej istej udalosti. Endpoint, ktorý dlhodobo neodpovedá, vypneme a napíšeme dôvod. Čo sme poslali a s akou odpoveďou vidíte v administrácii v logu doručení.

Zoznam udalostí

strojovo čitateľne

Ten istý číselník vracia GET /v1/webhooks/events aj s ukážkovým telom každej udalosti — vrátane obálky id, event a occurredAt. Nástroj ako Zapier či Make si z neho vyskladá zoznam spúšťačov a polia na mapovanie. Prihlásenie na to netreba.

UdalosťČo znamenáKedy vzniká
document.issuedDoklad dostal číslo z radu a stal sa nemenným.Pri vystavení dokladu, v tej istej transakcii. Za doklad, ktorého vystavenie zlyhalo, udalosť nevznikne.
document.paidDoklad je uhradený v plnej výške.Po zaevidovaní úhrady, ktorá doklad doplatila do nuly. Čiastková úhrada vydá len `payment.matched`.
document.credited (zatiaľ sa neodosiela)K dokladu vznikol dobropis.Zatiaľ nikdy — udalosť sa dá odoberať, ale aplikácia ju neodosiela. Na dobropis sa napojte cez `document.issued` s `kind: "credit_note"`.
payment.matchedPlatba sa priradila k dokladu.Pri zaevidovaní úhrady — z banky, z platobnej brány aj ručne. Za jeden doklad môže prísť viackrát, ak sa platí po častiach. Ak platba prevýšila zvyšok dokladu, nesie `overpaidAmount` — o toľko odberateľ zaplatil viac.
payment.unmatchedPrišli peniaze, ktoré sa nedali priradiť k žiadnemu dokladu.Pri zaevidovaní platby, ktorú párovanie nevedelo umiestniť (`reason` hovorí prečo), a pri odpárovaní omylom priradenej platby — vtedy nesie `previousDocumentId` a `documentWasPaid`; ak bol doklad predtým uhradený, už nie je.
delivery.deliveredDoklad bol doručený odberateľovi cez sieť Peppol.Až keď doručenie potvrdí prístupový bod. Technické prevzatie do fronty udalosť nevydáva — bolo by to tvrdenie, ktoré ešte nikto nepotvrdil.
delivery.failedDoručenie dokladu zlyhalo.Po vyčerpaní opakovaní, alebo keď prístupový bod ohlási trvalé zlyhanie. `permanent: true` znamená, že sa to samo už neskúsi.
inbound.receivedPrišiel doklad od dodávateľa.Po uložení prijatého dokladu, pred potvrdením prevzatia prístupovému bodu.
tax.reported (zatiaľ sa neodosiela)Údaje o doklade prevzala Finančná správa.Zatiaľ nikdy — udalosť sa dá odoberať, ale aplikácia ju neodosiela. Stav hlásenia je v `GET /v1/documents/:id`.
tax.rejected (zatiaľ sa neodosiela)Finančná správa údaje o doklade odmietla.Zatiaľ nikdy — udalosť sa dá odoberať, ale aplikácia ju neodosiela. Odmietnuté hlásenia vidno v prevádzkovom prehľade a v upozorneniach.
pingTestovacia udalosť. Nevzťahuje sa na žiadny doklad.Keď ju vyžiadate — tlačidlom v administrácii alebo cez `POST /v1/webhooks/:id/test`.
Udalosť označená zatiaľ sa neodosiela sa dá odoberať, ale aplikácia ju dnes nikdy nevydá. Scenár postavený na nej sa nespustí a chybu budete hľadať u seba.

Skúšobné doručenie si vypýtate cez POST /v1/webhooks/:id/test s telom {"event": "document.paid"}. Na rozdiel od ping ním overíte aj vetvenie podľa event a čítanie polí z data. Telo je ukážkové — identifikátory v ňom neukazujú na žiadny skutočný doklad.

Synchronizácia

Na priebežné dosynchronizovanie použite updatedSince — vráti, čo sa od daného okamihu zmenilo, od najstaršieho. Za zmenu sa počíta aj úhrada a doručenie: vystavený doklad sa už nemení, ale práve to, či je uhradený, sa spravidla pýtate.

GET http://127.0.0.1:3100/v1/documents?updatedSince=2027-03-01T00:00:00Z&limit=100

# Ďalšiu stránku berte cez nextCursor z odpovede, nie cez offset —
# cursor zostane správny, aj keď medzitým pribudnú nové doklady.
GET http://127.0.0.1:3100/v1/documents?updatedSince=...&cursor=eyJ...

Filtre: status, kind, customerId, number, issuedFrom, issuedTo, mode.

Prehľad do tabuľky

GET /v1/exports/overview.csv vráti riadok na doklad: čísla, dátumy, odberateľa, sumy, uhradenú časť a zostatok. Nie je to dávka na import do účtovného programu — na to sú exporty — ale plochá tabuľka pre človeka, ktorý si nad ňou robí vlastné súčty.

# Bodkočiarka je predvolená kvôli Excelu so slovenským nastavením.
curl -H "Authorization: Bearer $KVITOS_API_KEY" \
  "http://127.0.0.1:3100/v1/exports/overview.csv?from=2027-01-01&to=2027-12-31"

# Čiarka pre nástroj, ktorý bodkočiarku nečaká:
#   ...&delimiter=comma
# Sandbox namiesto ostrých dokladov:
#   ...&mode=test

Zostatok je stĺpec, nie vzorec. Sumy chodia ako text presne v tvare, v akom sú u nás — tabuľka si ich naformátuje sama a nič sa po ceste nezaokrúhli. Koncepty v prehľade nie sú.

Google Sheets si adresu načíta sám, ale hlavičku Authorization k nej pridať nevie. Prehľad dnes stiahnete kľúčom — cez curl, cez scenár v Make alebo Zapieri, alebo tlačidlom v administrácii. Odkaz, ktorý si tabuľka obnoví sama, zatiaľ nevydávame: kľúč v adrese by skončil v histórii prehliadača aj v logoch.

Platobné brány

POST /v1/documents/:id/checkout vytvorí platbu na faktúru a vráti adresu, kam pošlete platiteľa. Keď peniaze dorazia, brána nám pošle podpísané oznámenie, my zapíšeme úhradu a vydáme payment.matched, prípadne aj document.paid.

Peniaze cez nás neprechádzajú. Platba vzniká na účte vašej firmy u vášho poskytovateľa — my sme integrátor, nie príjemca. Nie je to štylistika: kto peniaze čo i len na okamih drží, poskytuje platobnú službu podľa PSD2 a potrebuje na to povolenie NBS. Preto tu nenájdete vrátenie platby ani výber — vrátenie spustíte u svojej brány a my len zaznamenáme výsledok.

Brána sa nastavuje v administrácii v Nastaveniach: poskytovateľ a identifikátor vášho obchodníckeho účtu. Oznámenia o platbách chodia na POST /v1/webhooks/payments/:tenantId a každé sa overuje skôr, než sa z neho stane úhrada — neoverené doručenie zahadzujeme.

PoskytovateľAko to funguje
ComgateKarta aj bankové tlačidlo. Platbu vytvárame pod vaším číslom obchodníka, oznámenie overujeme tajomstvom, ktoré Comgate v ňom posiela. Predautorizovanú platbu za uhradenú neoznačíme — peniaze ešte neprišli.
Iná bránaVšeobecný adaptér pre bránu, ktorá platbu vytvorí volaním REST API a vráti adresu, kam poslať platiteľa. Názvy polí sa dolaďujú na konkrétneho poskytovateľa; nastavuje ho prevádzkovateľ.
DevTestovacia brána pre vývoj. Prejde celú cestu vrátane podpísaného oznámenia, len peniazmi nepohne. V produkcii sa nespustí.

Účtovníctvo

POST /v1/exports vráti dávku vo formáte, ktorý účtovník naimportuje: CSV s riadkom na každú sadzbu, KROS OMEGA a ALFA plus, POHODA, Money S3, ISDOC alebo UBL. Zoznam dostupných formátov vráti GET /v1/exports v poli adapters.

Formát označený verified: false je zostavený podľa zverejnenej štruktúry výrobcu, ale zatiaľ nebol overený importom do reálnej inštalácie. Pred prvým ostrým použitím ho nechajte skúsiť účtovníkovi na jednej dávke.

KROS Fakturácia má vlastné REST API — doklady doň vieme zapísať priamo, bez sťahovania súboru. Nastavuje sa v administrácii v Exportoch.

Verzie a zmeny

pred 1.0
Rozhranie je vo verzii 0.1.0, teda pred 1.0. Pravidlá nižšie sú zámer, nie ešte záruka. Hovoríme to rovno, lebo integrátorovi je užitočnejšia pravda než sľub, ktorý na nás nikto nevie vymôcť.

Čo môžeme zmeniť bez ohlásenia

  • Nové endpointy a nové nepovinné polia v požiadavke.
  • Nové polia v odpovedi — váš klient musí neznáme polia ignorovať, nie na nich spadnúť.
  • Text chybovej správy. Je to slovenská veta pre človeka; rozhodujte sa podľa poľa code.
  • Obsah a dĺžka cursora. Je nepriehľadný — posielajte späť presne to, čo ste dostali.
  • Poradie polí v JSON-e.

Čo držíme

  • Význam existujúceho poľa sa nezmení. Ak by sa mal zmeniť, pribudne nové pole.
  • Existujúce pole z odpovede nezmizne bez novej verzie cesty.
  • Chybový kód (pole code) si ponechá význam.
  • Doklad, ktorý bol vystavený, sa už nikdy nezmení — ani cez API, ani inak.
  • Číselný rad zostane bez medzier a bez duplicít.

Zmena, ktorá by rozbila existujúcu integráciu, znamená /v2 — a /v1 pri nej beží ďalej ešte 12 mesiacov. Integráciu e-shopu spravuje ten, kto ju písal, a to často nie je niekto, kto je na projekte stále.

Zastaraný nie je zatiaľ žiadny endpoint. Keď nejaký bude, objaví sa tu aj s označením zastarané v referencii — a bude odpovedať ďalej, kým neuplynie lehota.

VerziaDátumZmena
0.1.02026-09-28Úprava pravidelnej faktúry
`PATCH /v1/recurring/{id}` mení názov, interval, ďalší termín, odberateľa, položku a bežnú cenu rozvrhu. Iná suma pre jeden beh ostáva výnimkou (`PUT /v1/recurring/{id}/overrides`) a týmto volaním sa neprepisuje.
0.1.02026-09-25Obrat, hranica registrácie a povinnosti, ktoré z obratu nevznikajú
`GET /v1/vat-threshold` vráti obrat za rok, vzdialenosť k hranici a mesiac, v ktorom by hranica padla pri doterajšom tempe. **Obrat počítame z dodaní, nie z platieb** (§ 4 ods. 7) — teda z vystavených dokladov podľa dátumu dodania; zálohová faktúra sa nezapočítava, dobropis obrat znižuje. `GET /v1/vat-registration` prejde tohtoročné prijaté doklady a povie, z ktorých vznikla registrácia podľa § 7 (tovar z EÚ nad ročnú hranicu) alebo § 7a (služba z EÚ alebo do EÚ — bez akejkoľvek hranice). `POST /v1/expenses` prijíma `supplierCountry`, `supplierVatNumber` a `supplyType`; keď z dokladu povinnosť plynie, odpoveď nesie blok `registration`. Firma môže mať tretie postavenie voči DPH: `registered_only` — osoba registrovaná podľa § 7 alebo § 7a, ktorá **nie je platiteľom**. Má IČ DPH a uvádza ho na faktúre, v tuzemsku daň neúčtuje a odpočet nemá; službu dodanú platiteľovi do EÚ vystavuje s prenesením daňovej povinnosti.
0.1.02026-09-25Prílohy majú úložisko, zberný odkaz ich prijme aj bez účtu
`POST /v1/attachments` ukladal súbor ako base64 priamo do stĺpca, s limitom 2 MB a bez kontroly obsahu. Odteraz idú bajty do archívu s tou istou desaťročnou lehotou ako vystavené XML, strop je 15 MB a prijímame PDF, fotku dokladu (JPG, PNG, HEIC, WEBP, TIFF) a faktúru v XML — obsah sa overuje proti ohlásenému typu, takže `.exe` premenované na `.pdf` neprejde. Cesta ani staré polia `contentBase64`, `documentId` a `expenseId` sa nemenia; nové sú `dataBase64`, `ownerKind` a `ownerId`. Bez vlastníka skončí súbor v priečinku **Na spracovanie** (`GET /v1/attachments`), odkiaľ ho `POST /v1/attachments/{id}/link` zaradí k dokladu. `GET /v1/attachments/{id}/file` vráti bajty. `POST /v1/attachments/{id}/discard` prílohu vyradí zo zoznamu — z archívu nie, lebo je to súčasť účtovného záznamu. `POST /v1/upload-links` vydá **zberný odkaz**: adresu, na ktorej nahrá doklad ktokoľvek bez účtu a bez hesla — kolega, šofér, klient účtovnej kancelárie. Odkaz má platnosť, strop počtu nahraní a dá sa zneplatniť; nahraté doklady padajú do priečinka Na spracovanie, nikdy priamo do denníka.
0.1.02026-09-25Návrhy: asistent odporúča, potvrdzuje človek
`POST /v1/suggestions` zapíše návrh (zaúčtovanie, zaradenie, duplicita) k dokladu, nákladu alebo prijatej faktúre. Návrh nič nemení. `GET /v1/suggestions` vráti tie, ktoré čakajú. Potvrdiť alebo zamietnuť ich smie **len prihlásený človek** — kľúču to API odmietne kódom `human_required`, nech má akékoľvek rozsahy, lebo za účtovný záznam zodpovedá osoba. Nové rozsahy `suggestions:read` a `suggestions:write`; `accounting:write` na navrhovanie netreba. `GET /v1/expenses/{id}/posting-suggestion` povie, na ktorý účet náklad pravdepodobne patrí — z histórie firmy, teda z toho, kam boli zaúčtované predchádzajúce faktúry od toho istého dodávateľa. Bez histórie vráti predkontáciu firmy s `confidence: low` a povie, že je to predvoľba.
0.1.02026-09-25Kontrola dokladu nanečisto, duplicity nákladov a rozsahy v `/v1/me`
`GET /v1/documents/{id}/check` spustí pravidlá EN 16931 — a pri doklade do siete aj Peppol BIS 3.0 — bez vystavenia, takže chyby sa dajú nájsť skôr, než sa spáli číslo z radu. `GET /v1/expenses/duplicates` vráti prijaté faktúry, ktoré vyzerajú ako zapísané dvakrát: isté zhody podľa čísla a podozrenia podľa zhodnej sumy v odstupe pár dní. `GET /v1/me` navyše vracia blok `access` s rozsahmi a režimom kľúča — integrácia sa už nemusí pýtať 403-kou.
0.1.02026-09-24Mapovanie platobných metód e-shopu
Doklad môže niesť nepovinné pole `shopPaymentMethod` s pôvodným názvom platobnej metódy z e-shopu (`provider`: `woocommerce` alebo `prestashop`). Formu úhrady doplní Kvitos podľa toho, ako si ju firma namapovala, a prebije tým `payment.meansCode` z dokladu. Nenamapovaná metóda doklad neodmietne — vystaví sa tak, ako prišiel, a metóda sa zapamätá, aby ju firma videla a domapovala.
0.1.02026-09-02Prvé rozhranie
Doklady, odberatelia, platby, náklady, cenník, obchodné doklady, pravidelná fakturácia, prehľady a exporty. Kľúče s rozsahmi, limity rýchlosti, idempotentné zápisy, webhooky s podpisom, sandbox s vlastným číselným radom a synchronizácia cez `updatedSince` s cursorom.

Ten istý zoznam strojovo: GET http://127.0.0.1:3100/v1/changelog — bez kľúča. Váš systém tak vie svojmu prevádzkovateľovi povedať, že sa niečo pohlo, bez toho, aby to niekto musel čítať u nás.

Referencia

629 endpointov

Asistent

GET/v1/assistant/budgetKoľko otázok zostáva
POST/v1/assistant/chatOtázka asistentovi
GET/v1/assistant/conversationsMoje rozhovory
GET/v1/assistant/conversations/{id}Priebeh rozhovoru

Cenník

GET/v1/catalogZoznam položiek cenníka
POST/v1/catalogPridá položku do cenníka
PATCH/v1/catalog/{id}Upraví položku cenníka

Cenové hladiny

PUT/v1/customers/{id}/price-levelZaradenie odberateľa do hladiny
GET/v1/customers/{id}/pricesCeny položiek pre odberateľa
GET/v1/price-levelsZoznam cenových hladín
POST/v1/price-levelsNová cenová hladina
DELETE/v1/price-levels/{id}Archivácia hladiny
PATCH/v1/price-levels/{id}Úprava hladiny
GET/v1/price-levels/{id}/customersOdberatelia v hladine
POST/v1/price-levels/{id}/defaultOznačenie predvolenej hladiny
DELETE/v1/price-levels/{id}/items/{itemId}Zrušenie pevnej ceny
PUT/v1/price-levels/{id}/items/{itemId}Pevná cena položky v hladine
GET/v1/price-levels/{id}/price-listCenník v hladine

Cestovné náhrady

GET/v1/travel/ordersZoznam cestovných príkazov
POST/v1/travel/ordersNový cestovný príkaz
GET/v1/travel/orders/{id}Cestovný príkaz a jeho vyúčtovanie
PATCH/v1/travel/orders/{id}Zmena rozpracovaného príkazu
POST/v1/travel/orders/{id}/approveSchválenie cestovného príkazu
POST/v1/travel/orders/{id}/settleVyúčtovanie cestovného príkazu
GET/v1/travel/orders/{id}/tripsJazdy, ktoré sa dajú k príkazu priradiť
POST/v1/travel/orders/{id}/tripsPriradenie jázd z knihy jázd
DELETE/v1/travel/orders/{id}/trips/{tripId}Odviazanie jazdy od príkazu

Dochádzka

POST/v1/attendance/{employmentId}/approveSchváliť obdobie
PUT/v1/attendance/{employmentId}/dayOpraviť deň
POST/v1/attendance/{employmentId}/day/unlockZrušiť opravu dňa
PUT/v1/attendance/{employmentId}/pinNastaviť PIN na terminál
GET/v1/attendance/{employmentId}/punchesPichnutia za obdobie
POST/v1/attendance/{employmentId}/recomputePrepočítať obdobie
GET/v1/attendance/{employmentId}/sheetVýkaz za obdobie
PUT/v1/attendance/{employmentId}/userSpárovať zamestnanca s účtom
GET/v1/attendance/meMoje pracovné pomery
POST/v1/attendance/me/punchPichnúť si
GET/v1/attendance/me/sheetMôj výkaz hodín
GET/v1/attendance/overtimeNadčas na schválenie
POST/v1/attendance/overtime/{id}Rozhodnúť o nadčase
GET/v1/attendance/presenceKto je v práci
POST/v1/attendance/punchZapísať pichnutie za zamestnanca
POST/v1/attendance/punch/{id}/voidZrušiť pichnutie
GET/v1/attendance/settingsNastavenie dochádzky
PATCH/v1/attendance/settingsUpraviť nastavenie
GET/v1/attendance/terminalsPichacie terminály
POST/v1/attendance/terminalsVytvoriť terminál
POST/v1/attendance/terminals/{id}/revokeZrušiť terminál

Doklady

GET/v1/batchesHromadné fakturácie
POST/v1/batchesPripraviť hromadnú fakturáciu
GET/v1/batches/{id}Stav hromadnej fakturácie
POST/v1/batches/{id}/issueVystaviť pripravenú dávku
GET/v1/documentsZoznam dokladov
POST/v1/documentsVytvorí koncept dokladu
DELETE/v1/documents/{id}Zmaže koncept (soft-delete)
GET/v1/documents/{id}Detail dokladu
PATCH/v1/documents/{id}Upraví koncept dokladu
GET/v1/documents/{id}/attachmentsPrílohy dokladu
GET/v1/documents/{id}/audit-packAudit ZIP (UBL + SK TDD + stavy doručenia)
GET/v1/documents/{id}/checkPrečo sa doklad (ne)vystaví
GET/v1/documents/{id}/delivery-checkPrijíma odberateľ e-faktúry?
POST/v1/documents/{id}/issueVystaví doklad
GET/v1/documents/{id}/messagesOdoslané správy k dokladu
GET/v1/documents/{id}/pdfHTML/PDF náhľad dokladu (tlač + Pay by Square QR)
POST/v1/documents/{id}/recordPrevezme doklad vystavený mimo Kvitosu
POST/v1/documents/{id}/redeliverZnova odoslať nedoručenú e-faktúru
POST/v1/documents/{id}/remindPošle manuálnu upomienku
POST/v1/documents/{id}/sendPošle doklad e-mailom
POST/v1/documents/{id}/send-xmlPoslať XML nedoručenej e-faktúry e-mailom
POST/v1/documents/{id}/settle-advanceVyúčtovacia faktúra zo zaplatenej zálohy (prepaidAmount + BillingReference)
GET/v1/documents/{id}/sk-tddZoznam SK TDD eventov k dokladu
POST/v1/documents/{id}/sk-tddVygeneruje / uloží SK TDD payload (daňové oznamovanie)
GET/v1/documents/{id}/ublUBL 2.1 XML dokladu
POST/v1/tax/suggestOdporúčanie DPH režimu (tuzemsko / PDP / EÚ / export / OSS)

DPH

GET/v1/vat-registrationRegistrácie pre DPH, ktoré nevznikajú z obratu (§ 7 a § 7a)
GET/v1/vat-thresholdObrat za rok a vzdialenosť k hranici registrácie

E-shopy

GET/v1/shops/connectionsPrepojenia na e-shop
POST/v1/shops/connectionsPripojenie e-shopu
DELETE/v1/shops/connections/{id}Vypnutie prepojenia
POST/v1/shops/connections/{id}/checkOverenie tokenu e-shopu
POST/v1/shops/connections/{id}/orders/{code}Vystaviť faktúru k objednávke
GET/v1/shops/connections/{id}/payment-methodsPlatobné metódy e-shopu a ich mapovanie
PUT/v1/shops/connections/{id}/payment-methodsNamapovať metódu e-shopu na formu úhrady
POST/v1/shops/connections/{id}/syncDofakturovať zmenené objednávky
GET/v1/shops/ordersČo sa už z e-shopu vyfakturovalo
POST/v1/shops/orders/{id}/retryZnovu vystaviť faktúru k objednávke, ktorá neprešla
POST/v1/shops/webhooks/shoptet/{connectionId}Webhook od Shoptetu

Exporty

GET/v1/accounting/pickup/companiesFirmy, ktoré si smie kľúč vyzdvihnúť
GET/v1/accounting/pickup/documentsVyzdvihne doklady za obdobie vo zvolenom formáte
GET/v1/accounting/pickup/manifestČo je za obdobie pripravené na vyzdvihnutie
GET/v1/exportsHistória exportov
POST/v1/exportsExport dokladov do účtovníctva
GET/v1/exports/courierPodklad pre kuriéra (CSV)
GET/v1/exports/overview.csvPrehľad vydaných dokladov ako CSV
POST/v1/imports/accountingImport účtovných dokladov (CSV preview)
GET/v1/reports/vatDPH prehľad (kniha vystavených / podklady KV+SV+OSS)

Helpdesk

GET/v1/helpdeskTikety a časté otázky
POST/v1/helpdesk/faqPridať častú otázku
POST/v1/helpdesk/ticketsZaložiť tiket
POST/v1/helpdesk/tickets/{id}Zmeniť stav tiketu

Integrácie

GET/v1/api-keysAPI kľúče
POST/v1/api-keysVydanie API kľúča
DELETE/v1/api-keys/{id}
GET/v1/peppol/self-checkRuntime readiness prístupového bodu (bez volania suite)
GET/v1/webhooks
POST/v1/webhooks
DELETE/v1/webhooks/{id}
POST/v1/webhooks/{id}/pingTestovacia udalosť
POST/v1/webhooks/{id}/rotate-secretVýmena podpisového tajomstva
POST/v1/webhooks/{id}/testSkúšobné doručenie zvolenej udalosti
GET/v1/webhooks/deliveriesLog doručení
POST/v1/webhooks/deliveries/{id}/retryPoslať doručenie znova
GET/v1/webhooks/eventsZoznam udalostí, ich význam a ukážkové telo
GET/v1/webhooks/payments/{tenantId}PSP settlement webhook (GET trigger, stav sa ťahá z API brány)
POST/v1/webhooks/payments/{tenantId}PSP settlement webhook (merchant-direct, signed)
POST/v1/webhooks/pds/subjectsZápis subjektu k sprostredkovateľovi (Finančná správa)
POST/v1/webhooks/peppolInbound webhook od Digitálneho poštára (auth)
POST/v1/webhooks/peppol/sapiskSAPI-SK udalosti brány (podpísané)
POST/v1/webhooks/peppol/sapisk-testSAPI-SK udalosti testovacieho servera (podpísané)
POST/v1/webhooks/peppol/storecoveStorecove received_document webhook (secret)
POST/v1/webhooks/tatra-premiumWebhook Premium API Tatra banky

Ja

GET/v1/me/leaveMoja dovolenka
POST/v1/me/leave-requestsPožiadať o dovolenku
POST/v1/me/leave-requests/{id}/cancelStiahnuť vlastnú žiadosť o dovolenku

Jednoduché účtovníctvo

GET/v1/accounting-booksPrehľad povinných evidencií
GET/v1/accounting-books/bank-accountsKniha bankových účtov
GET/v1/accounting-books/reservesKniha rezerv
POST/v1/accounting-books/reservesTvorba, použitie alebo zrušenie rezervy
GET/v1/accounting-books/social-fundKniha sociálneho fondu
GET/v1/accounting-books/valuablesKniha cenín
POST/v1/accounting-books/valuablesPríjem alebo výdaj cenín
GET/v1/accounting/personal-taxPodklad k dani z príjmov fyzickej osoby (typ B)
PUT/v1/accounting/personal-taxUložiť podklad k dani z príjmov fyzickej osoby
GET/v1/accounting/personal-tax/xmlDaňové priznanie DPFO typ B v úradnom XML
GET/v1/cash-journalPeňažný denník
POST/v1/cash-journalZapísať riadok do denníka
POST/v1/cash-journal/{id}/reverseOpraviť riadok denníka
GET/v1/cash-journal/columnsStĺpce peňažného denníka
GET/v1/cash-journal/exportPeňažný denník do CSV
GET/v1/cash-journal/flat-rate/{rok}Oplatí sa paušál, alebo skutočné výdavky?
GET/v1/cash-journal/operationsPomenované pohyby denníka (vklad, výber, úver, odvody…)
POST/v1/cash-journal/operationsZápis pomenovaného pohybu
POST/v1/cash-journal/postZaúčtovať obdobie
POST/v1/cash-journal/transferPrevod medzi pokladňou a účtom
GET/v1/cash-journal/unpostedČo čaká na zaúčtovanie
GET/v1/closing/{rok}Účtovná závierka za rok (Úč FO alebo Úč NO)
GET/v1/closing/{rok}/assets-liabilities.csvVýkaz o majetku a záväzkoch do CSV
GET/v1/closing/{rok}/income-expense.csvVýkaz o príjmoch a výdavkoch do CSV
GET/v1/closing/{rok}/xmlZávierka v úradnom XML

Kancelária

GET/v1/office/closingStav uzávierky za mesiac naprieč klientmi
POST/v1/office/exportsHromadný export dokladov za všetkých klientov

Kniha jázd

POST/v1/mileage/generateDopočítať jazdy za obdobie
POST/v1/mileage/refuelingsZapísať tankovanie
POST/v1/mileage/tripsZapísať jazdu
DELETE/v1/mileage/trips/{id}Zmazať jazdu
GET/v1/mileage/vehiclesVozidlá
POST/v1/mileage/vehiclesZaradiť vozidlo
DELETE/v1/mileage/vehicles/{id}Vyradiť vozidlo
PATCH/v1/mileage/vehicles/{id}Upraviť vozidlo
GET/v1/mileage/vehicles/{id}/logbookKniha jázd za obdobie
GET/v1/mileage/vehicles/{id}/refuelingsTankovania vozidla

Kurzové rozdiely

GET/v1/fx/detailRozpis úhrad s kurzovým rozdielom
GET/v1/fx/summaryKurzové zisky a straty za obdobie
GET/v1/fx/unconvertedÚhrady v cudzej mene bez kurzu

Majetok

GET/v1/assetsZoznam majetku
POST/v1/assetsZaradiť majetok
PATCH/v1/assets/{id}Upraviť kartu majetku
GET/v1/assets/{id}/cardKarta majetku
POST/v1/assets/{id}/disposeVyradiť majetok
POST/v1/assets/{id}/planPrepočítať plán odpisov
POST/v1/assets/depreciations/applyUplatniť odpisy za rok
POST/v1/assets/from-expense/{expenseId}Založiť majetok z prijatého nákladu
GET/v1/assets/missedNeuplatnené odpisy za rok
GET/v1/assets/summarySúhrn odpisov za rok

Mzdové výkazy

GET/v1/payroll/reports/health-insuranceMesačný výkaz preddavkov na zdravotné poistenie
POST/v1/payroll/reports/health-insurance/batchDávka 514 pre jednu zdravotnú poisťovňu
GET/v1/payroll/reports/registrationsPodklad pre registračné listy — prihlášky a odhlášky
POST/v1/payroll/reports/registrations/xmlRegistračné listy ako XML pre Sociálnu poisťovňu
GET/v1/payroll/reports/social-insuranceMesačný výkaz poistného do Sociálnej poisťovne
POST/v1/payroll/reports/social-insurance/xmlMesačný výkaz poistného ako XML pre Sociálnu poisťovňu
GET/v1/payroll/reports/tax-advancesPrehľad o zrazených preddavkoch na daň
POST/v1/payroll/reports/tax-advances/xmlPrehľad o preddavkoch ako XML pre Finančnú správu

Mzdy

GET/v1/me/payslip-passwordStav hesla k výplatným páskam
PUT/v1/me/payslip-passwordNastaviť vlastné heslo k výplatným páskam
GET/v1/me/payslipsMoje výplatné pásky (bez súm)
POST/v1/me/payslips/{id}/pdfStiahnuť vlastnú pásku (PDF šifrované heslom)
POST/v1/me/payslips/{id}/unlockZobraziť vlastnú pásku po zadaní hesla
POST/v1/payroll/children/{id}/closeUkončenie uplatňovania bonusu
GET/v1/payroll/employeesZoznam zamestnancov
POST/v1/payroll/employeesNový zamestnanec
GET/v1/payroll/employees/{id}Zamestnanec s pomermi, deťmi a vyhlásením
PATCH/v1/payroll/employees/{id}Úprava zamestnanca
POST/v1/payroll/employees/{id}/childrenDieťa pre daňový bonus
POST/v1/payroll/employees/{id}/declarationsVyhlásenie podľa § 36 ods. 6
GET/v1/payroll/employees/{id}/employmentsPracovné pomery zamestnanca
POST/v1/payroll/employees/{id}/employmentsNový pracovný pomer
GET/v1/payroll/employees/{id}/health-periodsObdobia pre minimálny preddavok na zdravotné poistenie
GET/v1/payroll/employees/{id}/payroll-sheetMzdový list zamestnanca za rok v PDF
PATCH/v1/payroll/employments/{id}Úprava pracovného pomeru
GET/v1/payroll/employments/{id}/sick-leavesPráceneschopnosti pomeru
GET/v1/payroll/erasure-requestsEvidencia žiadostí o výmaz
POST/v1/payroll/erasure-requestsZaevidovať žiadosť o výmaz
POST/v1/payroll/erasure-requests/{id}/decideRozhodnúť o žiadosti o výmaz
POST/v1/payroll/execution-ordersExekučná zrážka
POST/v1/payroll/health-periodsZápis obdobia pre minimálny preddavok
DELETE/v1/payroll/health-periods/{id}Zmazať obdobie pre minimálny preddavok
GET/v1/payroll/payslips/{id}/pdfVýplatná páska v PDF
GET/v1/payroll/periodsMzdové obdobia
POST/v1/payroll/periodsOtvorenie mzdového obdobia
POST/v1/payroll/periods/{id}/closeUzavretie obdobia
POST/v1/payroll/periods/{id}/paidOznačenie obdobia za vyplatené
GET/v1/payroll/periods/{id}/payslipsVýplatné pásky obdobia
POST/v1/payroll/periods/{id}/recalculatePrepočet obdobia
GET/v1/payroll/periods/lookupObdobie podľa roka a mesiaca
GET/v1/payroll/retentionČomu uplynula archivačná lehota
POST/v1/payroll/sick-leavesZápis práceneschopnosti

Mzdy — ročná agenda

GET/v1/payroll/annual/hlasenieRočné hlásenie o vyúčtovaní dane
GET/v1/payroll/annual/potvrdeniePotvrdenie o zdaniteľných príjmoch (POT395v26)
GET/v1/payroll/annual/settlementsVykonané ročné zúčtovania za rok
POST/v1/payroll/annual/settlementsVykonať ročné zúčtovanie preddavkov na daň
GET/v1/payroll/asset-requestsŽiadosti o pridelený majetok
POST/v1/payroll/asset-requestsPodať žiadosť o majetok
POST/v1/payroll/asset-requests/{id}Prideliť alebo vrátiť vec
GET/v1/payroll/attendanceDochádzka za obdobie
POST/v1/payroll/corrections/previewNáhľad opravnej pásky
POST/v1/payroll/departmentsZaložiť oddelenie
GET/v1/payroll/documentsDoklady k pracovnému pomeru
POST/v1/payroll/documentsZaložiť doklad k pomeru
POST/v1/payroll/documents/{id}Schváliť alebo zamietnuť doklad
GET/v1/payroll/goalsCiele a kľúčové výsledky
POST/v1/payroll/goalsZaložiť cieľ
POST/v1/payroll/goals/{id}Upraviť plnenie cieľa
POST/v1/payroll/goals/{id}/resultsPridať kľúčový výsledok
GET/v1/payroll/leaveNárok, čerpanie a zostatok dovolenky
POST/v1/payroll/leaveZapísať čerpanie dovolenky
GET/v1/payroll/leave-requestsŽiadosti o dovolenku
POST/v1/payroll/leave-requestsPodať žiadosť o dovolenku
POST/v1/payroll/leave-requests/{id}Schváliť, zamietnuť alebo zrušiť žiadosť o dovolenku
GET/v1/payroll/offboarding-tasksÚlohy pri odchode
POST/v1/payroll/offboarding-tasksZaložiť úlohu pri odchode
POST/v1/payroll/offboarding-tasks/{id}Označiť úlohu pri odchode
GET/v1/payroll/onboarding-tasksNástupné úlohy
POST/v1/payroll/onboarding-tasksZaložiť nástupnú úlohu
POST/v1/payroll/onboarding-tasks/{id}Označiť nástupnú úlohu
GET/v1/payroll/organizationOddelenia a zaradenie
POST/v1/payroll/organization/{employmentId}Zaradiť pracovný pomer
GET/v1/payroll/registrations/davka601Dávka 601 — prihlášky a odhlášky do zdravotnej poisťovne

Nábor

GET/v1/hiring/applicationsPrihlášky
POST/v1/hiring/applicationsZapísať reakciu
GET/v1/hiring/applications/{id}Prihláška
GET/v1/hiring/applications/{id}/ai-reviewPorovnanie s kritériami
POST/v1/hiring/applications/{id}/ai-reviewPorovnať dokumenty s kritériami
GET/v1/hiring/applications/{id}/answersOdpovede uchádzača
POST/v1/hiring/applications/{id}/answersZapísať odpovede
POST/v1/hiring/applications/{id}/attachmentsPriložiť dokument
POST/v1/hiring/applications/{id}/emailsZáznam odoslaného e-mailu
POST/v1/hiring/applications/{id}/interviewsNaplánovať pohovor
POST/v1/hiring/applications/{id}/notesPoznámka do denníka
POST/v1/hiring/applications/{id}/rejectOdmietnuť uchádzača
POST/v1/hiring/applications/{id}/scoresZapísať hodnotenie
POST/v1/hiring/applications/{id}/shelveOdložiť do databázy uchádzačov
POST/v1/hiring/applications/{id}/stagePresunúť do inej fázy
GET/v1/hiring/attachments/{id}Stiahnuť prílohu
GET/v1/hiring/candidatesUchádzači
POST/v1/hiring/candidates/{id}/anonymizeVymazať údaje uchádzača
POST/v1/hiring/candidates/anonymize-expiredVymazať všetkých po lehote
GET/v1/hiring/careers-linkOdkaz na kariérnu stránku
POST/v1/hiring/careers-linkObnoviť odkaz na kariérnu stránku
DELETE/v1/hiring/criteria/{id}Zmazať kritérium
GET/v1/hiring/intake-linkAdresa pre portál
POST/v1/hiring/intake-linkVydať alebo obnoviť adresu pre portál
GET/v1/hiring/interviewsPohovory
PATCH/v1/hiring/interviews/{id}Upraviť pohovor
DELETE/v1/hiring/links/{token}Zneplatniť odkaz
GET/v1/hiring/openingsVýberové konania
POST/v1/hiring/openingsZaložiť konanie
GET/v1/hiring/openings/{id}Konanie
PATCH/v1/hiring/openings/{id}Upraviť konanie
GET/v1/hiring/openings/{id}/checkČo bráni zverejneniu
POST/v1/hiring/openings/{id}/closeUzavrieť konanie
POST/v1/hiring/openings/{id}/criteriaPridať hodnotiace kritérium
GET/v1/hiring/openings/{id}/linksOdkazy na inzerát
POST/v1/hiring/openings/{id}/linksVydať dočasný odkaz
GET/v1/hiring/openings/{id}/postingsKde inzerát visí
POST/v1/hiring/openings/{id}/postingsZapísať zverejnenie
POST/v1/hiring/openings/{id}/publishZverejniť konanie
POST/v1/hiring/openings/{id}/questionnairePriradiť dotazník konaniu
PUT/v1/hiring/openings/{id}/stagesPrepísať fázy konania
GET/v1/hiring/openings/{id}/talentsTalenti z databázy pre konanie
POST/v1/hiring/openings/{id}/talentsPrejsť databázu talentov
POST/v1/hiring/openings/{id}/talents/{candidateId}/inviteOsloviť talent
POST/v1/hiring/postings/{id}/withdrawStiahnuť zverejnenie
GET/v1/hiring/questionnairesNáborové dotazníky
POST/v1/hiring/questionnairesZaložiť dotazník
DELETE/v1/hiring/questionnaires/{id}Zmazať dotazník
GET/v1/hiring/questionnaires/{id}Dotazník
PATCH/v1/hiring/questionnaires/{id}Upraviť dotazník
PUT/v1/hiring/questionnaires/{id}/questionsPrepísať otázky
GET/v1/hiring/settingsNastavenie náboru
PATCH/v1/hiring/settingsUpraviť nastavenie

Náklady

GET/v1/attachmentsPrílohy záznamu alebo priečinok Na spracovanie
POST/v1/attachmentsNahranie prílohy (base64)
POST/v1/attachments/{id}/discardVyradenie prílohy z prehľadu
GET/v1/attachments/{id}/fileStiahnutie prílohy
POST/v1/attachments/{id}/linkZaradenie prílohy k dokladu
GET/v1/expense-approvals/pendingNáklady čakajúce na rozhodnutie
GET/v1/expense-approvals/settingsOdkedy sa náklady schvaľujú
PUT/v1/expense-approvals/settingsZapnutie schvaľovania a prah
GET/v1/expense-categoriesČíselník kategórií nákladov
POST/v1/expense-categoriesZaložiť kategóriu
DELETE/v1/expense-categories/{id}Zmazať nepoužitú kategóriu
PATCH/v1/expense-categories/{id}Upraviť kategóriu
POST/v1/expense-categories/{id}/archiveArchivovať kategóriu
POST/v1/expense-categories/{id}/unarchiveVrátiť kategóriu medzi aktívne
POST/v1/expense-categories/adoptPrevziať kategórie z doterajších textov
POST/v1/expense-categories/seed-defaultsZaložiť predvolené kategórie
GET/v1/expensesZoznam nákladov
POST/v1/expensesManuálny náklad / prijatá faktúra
PATCH/v1/expenses/{id}
GET/v1/expenses/{id}/approvalsHistória rozhodnutí o náklade
POST/v1/expenses/{id}/approveSchválenie nákladu
POST/v1/expenses/{id}/categoryZaradiť náklad do kategórie
POST/v1/expenses/{id}/rejectZamietnutie nákladu
POST/v1/expenses/{id}/request-approvalPoslanie nákladu (znova) na schválenie
GET/v1/expenses/chartsGrafy nákladov
GET/v1/expenses/duplicatesPrijaté faktúry, ktoré vyzerajú ako zapísané dvakrát
POST/v1/expenses/extractManuálne vyťaženie textu/CSV → náhľad alebo draft nákladu
GET/v1/upload-linksZberné odkazy na nahrávanie dokladov
POST/v1/upload-linksNový zberný odkaz
DELETE/v1/upload-links/{id}Zneplatnenie zberného odkazu

Nástup

POST/v1/hiring/applications/{id}/hirePrijať uchádzača
GET/v1/hiring/applications/{id}/offersPonuky práce
POST/v1/hiring/applications/{id}/offersVystaviť ponuku práce
GET/v1/hiring/benefitsČíselník benefitov
POST/v1/hiring/benefitsUložiť benefit
GET/v1/hiring/equipmentZverené vybavenie
POST/v1/hiring/equipmentOdovzdať vybavenie
POST/v1/hiring/equipment/{id}/protocolPodpísaný preberací protokol
POST/v1/hiring/equipment/{id}/returnVrátenie vybavenia
POST/v1/hiring/offers/{id}/stateStav ponuky
POST/v1/me/equipment/{id}/confirmPotvrdiť prevzatie veci
GET/v1/me/onboardingMôj nástup
POST/v1/me/onboarding/tasks/{id}/doneOznačiť svoju úlohu ako splnenú
GET/v1/onboardingKto nastupuje
GET/v1/onboarding/employments/{id}Nástupný plán pomeru
POST/v1/onboarding/employments/{id}/apply-templateRozpísať šablónu do plánu
POST/v1/onboarding/employments/{id}/invitePozvať zamestnanca do systému
POST/v1/onboarding/employments/{id}/tasksPridať úlohu do plánu
DELETE/v1/onboarding/tasks/{id}Zmazať úlohu
POST/v1/onboarding/tasks/{id}/stateZmeniť stav úlohy
GET/v1/onboarding/templatesŠablóny nástupu
POST/v1/onboarding/templatesZaložiť šablónu nástupu
DELETE/v1/onboarding/templates/{id}Zmazať šablónu nástupu
PUT/v1/onboarding/templates/{id}Upraviť šablónu nástupu

Návrhy

GET/v1/expenses/{id}/posting-suggestionNa ktorý účet tento náklad pravdepodobne patrí
GET/v1/suggestionsNávrhy čakajúce na potvrdenie
POST/v1/suggestionsZapísať návrh
POST/v1/suggestions/{id}/acceptPotvrdiť návrh
POST/v1/suggestions/{id}/rejectZamietnuť návrh

OAuth

GET/v1/oauth/authorizeČo má súhlasná obrazovka ukázať
POST/v1/oauth/authorizePovoliť aplikácii prístup
POST/v1/oauth/clientsRegistrovať aplikáciu
GET/v1/oauth/grantsAplikácie s prístupom
DELETE/v1/oauth/grants/{id}Odobrať aplikácii prístup
POST/v1/oauth/tokenVymeniť kód alebo obnoviť token

Obchodné doklady

GET/v1/commercial
POST/v1/commercial
POST/v1/commercial/{id}/convertVystaví koncept faktúry z ponuky/objednávky
POST/v1/commercial/{id}/paidZálohová faktúra je zaplatená — pripraví faktúru k prijatej platbe

Objednávky

GET/v1/commercial/{id}/chainStav reťazca objednávky
POST/v1/commercial/{id}/chain/proformaPripnúť zálohovú faktúru k objednávke
GET/v1/order-chain/settingsNastavenie reťazca objednávok
PUT/v1/order-chain/settingsZmeniť nastavenie reťazca objednávok
GET/v1/purchase-ordersVydané objednávky
POST/v1/purchase-ordersVystaviť objednávku dodávateľovi
GET/v1/purchase-orders/{id}Detail vydanej objednávky
PATCH/v1/purchase-orders/{id}Upraviť vydanú objednávku
POST/v1/purchase-orders/{id}/cancelZrušiť vydanú objednávku
POST/v1/purchase-orders/{id}/convertPreviesť objednávku na náklad

Odberatelia

GET/v1/customersZoznam odberateľov
POST/v1/customers
PATCH/v1/customers/{id}
GET/v1/lookup/companyHľadanie firmy v registroch (RPO, RÚZ, VIES, ARES)
GET/v1/lookup/icoLookup firmy podľa IČO (Register účtovných závierok)
GET/v1/lookup/viesOverenie IČ DPH vo VIES

Platby

GET/v1/bank-connectionsBankové napojenia (CSV / PSD2 stub)
POST/v1/bank-connectionsPridá bankové napojenie (stub pre PSD2)
POST/v1/bank-connections/{id}/syncSynchronizácia banky (AISP stub — aktualizuje lastSyncAt)
POST/v1/bank/importImport bankového CSV (date;amount;currency;VS;meno)
POST/v1/bank/statementImport bankového výpisu camt.053 (ISO 20022)
GET/v1/banksNapojené banky
DELETE/v1/banks/{id}Odpojiť banku
POST/v1/banks/{id}/backfillNačíta históriu transakcií za zvolené obdobie
POST/v1/banks/{id}/syncNačítať pohyby a spárovať
POST/v1/banks/fioPripojiť Fio banku
GET/v1/banks/tatraPripojenie cez Premium API Tatra banky — dostupnosť a banky
POST/v1/banks/tatra/completeDokončiť pripojenie po návrate z banky
POST/v1/banks/tatra/startZačať pripojenie banky cez Tatra banku
POST/v1/documents/{id}/checkoutVytvorí online checkout (dev / PSP)
GET/v1/expense-matchesNávrhy na spárovanie výdavkov s nákladmi
POST/v1/expense-matches/{paymentId}/confirmPriradenie výdavku k nákladu
POST/v1/expense-matches/{paymentId}/rejectOdmietnutie návrhu
POST/v1/expense-matches/applyPriradenie toho, čo je jednoznačné
GET/v1/expense-matches/missingVýdavky, ku ktorým chýba doklad
GET/v1/payment-ordersVytvorené platobné príkazy
POST/v1/payment-ordersZostaviť hromadný platobný príkaz (SEPA pain.001)
POST/v1/payment-orders/{id}/bank-statusStav príkazu v banke
POST/v1/payment-orders/{id}/send-to-bankPoslať príkaz do banky na autorizáciu
GET/v1/payment-orders/{id}/xmlStiahnuť súbor pre banku
GET/v1/payment-orders/payableČo sa dá zaplatiť hromadným príkazom
GET/v1/paymentsZoznam prijatých platieb
POST/v1/paymentsZaznamená prijatú platbu a spáruje ju s dokladom
POST/v1/payments/{id}/matchPriradí platbu k dokladu
POST/v1/payments/{id}/match/rejectOdmietne navrhnuté priradenie
POST/v1/payments/{id}/unmatchOdpáruje omylom priradenú platbu
GET/v1/payments/rematchNávrhy na spárovanie nepriradených platieb
POST/v1/payments/rematch/applyPotvrdí jednoznačné návrhy dávkou

Pokladňa

POST/v1/cash/documentsVystaviť pokladničný doklad
GET/v1/cash/registersPokladne a ich zostatky
POST/v1/cash/registersZaložiť pokladňu
DELETE/v1/cash/registers/{id}Uzavrieť pokladňu
GET/v1/cash/registers/{id}/bookPokladničná kniha za obdobie

Pravidelné

GET/v1/recurring
POST/v1/recurring
GET/v1/recurring-expensesPravidelné náklady
POST/v1/recurring-expensesZaložiť pravidelný náklad
DELETE/v1/recurring-expenses/{id}Zmazať pravidelný náklad
PATCH/v1/recurring-expenses/{id}Upraviť pravidelný náklad
POST/v1/recurring-expenses/{id}/pausePozastaviť pravidelný náklad
GET/v1/recurring-expenses/{id}/previewNajbližšie behy
POST/v1/recurring-expenses/{id}/resumeObnoviť pravidelný náklad
POST/v1/recurring-expenses/{id}/runSpustiť pravidelný náklad teraz
PATCH/v1/recurring/{id}Upraviť rozvrh pravidelnej faktúry
PUT/v1/recurring/{id}/deliveryNastaví čas odoslania a prílohy rozvrhu
PUT/v1/recurring/{id}/overridesIná suma alebo vynechaný beh pre jeden mesiac
DELETE/v1/recurring/{id}/overrides/{overrideId}Zruší výnimku, ktorá sa ešte nepoužila
GET/v1/recurring/{id}/variablesPremenné rozvrhu a výnimky na jednotlivé mesiace
PUT/v1/recurring/{id}/variablesNastaví bežné hodnoty rozvrhu
POST/v1/recurring/run

Predplatné

GET/v1/changelogZmeny rozhrania a pravidlá verziovania
GET/v1/integrationsPripojené e-shopy a systémy
POST/v1/integrationsPripojiť e-shop
DELETE/v1/integrations/{id}Odpojiť e-shop
GET/v1/office/candidatesKancelária: firmy, ktoré sa dajú pridať
GET/v1/office/clientsKancelária: spravované firmy
POST/v1/office/clientsKancelária: pridať spravovanú firmu
DELETE/v1/office/clients/{tenantId}Kancelária: odobrať spravovanú firmu
PUT/v1/office/clients/{tenantId}/modules/{pack}Kancelária: zapnúť alebo vypnúť modul spravovanej firme
GET/v1/office/invitationsKancelária: odoslané pozvánky klientom
POST/v1/office/invitationsKancelária: pozvať klienta na správu
DELETE/v1/office/invitations/{id}Kancelária: zrušiť pozvánku
GET/v1/office/requestsKlient: pozvánky od kancelárií na moj e-mail
POST/v1/office/requests/{id}/acceptKlient: potvrdiť pozvánku a odovzdať firmu
POST/v1/office/requests/{id}/declineKlient: odmietnuť pozvánku
GET/v1/plansCenník
GET/v1/subscriptionPlán a spotreba za toto obdobie
DELETE/v1/subscription/cardZrušiť automatické platby kartou (ComfortPay)
GET/v1/subscription/creditKredit na e-faktúry, balíky a doúčtovanie
POST/v1/subscription/delivery-packsKúpiť balík e-faktúr
GET/v1/subscription/invoicesFaktúry za predplatné
POST/v1/subscription/invoices/{id}/confirmOveriť online platbu po návrate z brány
POST/v1/subscription/invoices/{id}/payZaplatiť faktúru za predplatné online (TatraPay+)
GET/v1/subscription/invoices/{id}/ublNaša faktúra v UBL
PUT/v1/subscription/modules/{pack}Zapnúť alebo vypnúť modul
PATCH/v1/subscription/overage-capStrop doúčtovania e-faktúr nad plán
POST/v1/subscription/planZapnúť plán Kancelária

Prehľad

GET/v1/complianceChecklist pripravenosti na eFaktúru 2027
GET/v1/statsSúhrnné čísla pre prehľad

Prehľady

GET/v1/cashflowPredpoveď cashflow
GET/v1/receivablesSaldokonto — kto dlhuje a ako dlho
GET/v1/receivables/documentsNeuhradené doklady jedného odberateľa
GET/v1/reports/dp-dphDaňové priznanie k DPH
GET/v1/reports/kv-dphKontrolný výkaz DPH
GET/v1/reports/sv-dphSúhrnný výkaz DPH

Prevádzka

GET/v1/archive/integrityČo vie archív dokázať
POST/v1/contactSpráva z kontaktného formulára (verejné)
GET/v1/operationsČo je zaseknuté
GET/v1/operations/unreportedVystavené doklady bez potvrdeného hlásenia
GET/v1/outboundStav odchádzajúcich kanálov
GET/v1/statusStav služby (verejné)

Prijaté

GET/v1/inboundPrijaté e-faktúry
GET/v1/inbound/{id}Detail prijatej e-faktúry
PATCH/v1/inbound/{id}Stav prijatej faktúry
POST/v1/inbound/{id}/to-expenseVytvorí náklad z prijatej e-faktúry (AP)
GET/v1/inbound/{id}/xmlPôvodné XML prijatej e-faktúry

Sklad

GET/v1/stockStav zásob
GET/v1/stock/{itemId}/cardSkladová karta za obdobie
PUT/v1/stock/{itemId}/trackingZapnúť alebo vypnúť sledovanie zásoby
POST/v1/stock/adjustmentsOprava po inventúre
POST/v1/stock/commercial/{id}/issueVyskladnenie dodacím listom
POST/v1/stock/expenses/{expenseId}/receiptsPríjem na sklad z prijatého nákladu
POST/v1/stock/issuesVýdaj zo skladu
GET/v1/stock/profitMarža a ziskovosť predaja za obdobie
POST/v1/stock/receiptsPríjem na sklad
GET/v1/stock/transfersPrevodky za obdobie
POST/v1/stock/transfersPrevodka medzi skladmi
GET/v1/stock/transfers/{id}Prevodka s riadkami
GET/v1/stock/untrackedPoložky bez sledovania zásoby
GET/v1/warehousesZoznam skladov
POST/v1/warehousesNový sklad
DELETE/v1/warehouses/{id}Archivácia skladu
PATCH/v1/warehouses/{id}Úprava skladu
POST/v1/warehouses/{id}/defaultOznačenie predvoleného skladu
GET/v1/warehouses/{id}/stockStav položiek na sklade

SMS upomienky

GET/v1/sms/creditKredit na SMS a balíky
GET/v1/sms/messagesOdoslané SMS za obdobie
GET/v1/sms/overviewPrehľad upomienok
POST/v1/sms/packsKúpiť balík SMS
POST/v1/sms/remindersPoslať upomienku SMS
GET/v1/sms/unreachableOdberatelia, ku ktorým SMS nedôjde

Štítky

GET/v1/tagsZoznam štítkov
POST/v1/tagsNový štítok
DELETE/v1/tags/{id}Archivácia štítku
PATCH/v1/tags/{id}Úprava štítku
DELETE/v1/tags/{id}/entities/{entityType}/{entityId}Odopnutie štítku zo záznamu
PUT/v1/tags/{id}/entities/{entityType}/{entityId}Pripnutie štítku na záznam
GET/v1/tags/entities/{entityType}/{entityId}Štítky záznamu

Transparentné odmeňovanie

GET/v1/pay-transparency/criteriaKritériá hodnotenia pracovných miest
POST/v1/pay-transparency/criteriaPridať kritérium
DELETE/v1/pay-transparency/criteria/{id}Zmazať kritérium
GET/v1/pay-transparency/justificationsOdôvodnenia rozdielov
POST/v1/pay-transparency/justificationsZapísať odôvodnenie a nápravné opatrenia
GET/v1/pay-transparency/pay-componentsNepeňažné zložky odmeny pomeru
POST/v1/pay-transparency/pay-componentsPridať zložku odmeny
POST/v1/pay-transparency/pay-components/{id}/closeUkončiť platnosť zložky
GET/v1/pay-transparency/positionsPracovné pozície
POST/v1/pay-transparency/positionsZaložiť pozíciu
PATCH/v1/pay-transparency/positions/{id}Upraviť pozíciu
GET/v1/pay-transparency/positions/{id}/scoresHodnotenie pozície vrátane histórie
POST/v1/pay-transparency/positions/{id}/scoresOhodnotiť pozíciu
GET/v1/pay-transparency/reportPrepočítať report za rok
GET/v1/pay-transparency/reportsUložené reporty
POST/v1/pay-transparency/reportsUložiť report za rok
POST/v1/pay-transparency/reports/{year}/closeUzavrieť report
GET/v1/pay-transparency/requestsŽiadosti zamestnancov o informáciu o odmeňovaní
POST/v1/pay-transparency/requestsZaevidovať žiadosť
POST/v1/pay-transparency/requests/{id}/answerOdpovedať na žiadosť
GET/v1/pay-transparency/wage-groupsSkupiny prác rovnakej hodnoty
POST/v1/pay-transparency/wage-groupsZaložiť skupinu

Účtovníctvo

GET/v1/accounting/accountsÚčtová osnova firmy
POST/v1/accounting/accountsPridať účet do osnovy
PATCH/v1/accounting/accounts/{id}Premenovať účet alebo ho vyradiť z používania
POST/v1/accounting/accounts/seed-defaultsZaviesť rámcovú účtovú osnovu
PUT/v1/accounting/auto-postZapnúť alebo vypnúť automatické zaúčtovanie
GET/v1/accounting/closingPlán uzávierkových operácií
POST/v1/accounting/closingZaúčtovať uzávierkové operácie
GET/v1/accounting/closing-checkKontrola pred uzavretím roka
GET/v1/accounting/connectionsPrepojenia na účtovný softvér
POST/v1/accounting/connectionsPripojenie účtovného softvéru
DELETE/v1/accounting/connections/{id}Vypnutie prepojenia
POST/v1/accounting/connections/{id}/checkOverenie tokenu
POST/v1/accounting/connections/{id}/pushOdoslanie dokladov do účtovníctva
GET/v1/accounting/corporate-taxPodklad k dani z príjmov právnickej osoby
PUT/v1/accounting/corporate-taxUložiť úpravy základu dane právnickej osoby
POST/v1/accounting/corporate-tax/deferredZaúčtovať odloženú daň z príjmov
GET/v1/accounting/corporate-tax/xmlDaňové priznanie DPPO v úradnom XML
GET/v1/accounting/entity-sizeVeľkostná skupina účtovnej jednotky
PUT/v1/accounting/entity-sizeUrčiť veľkostnú skupinu účtovnej jednotky
GET/v1/accounting/fiscal-yearsÚčtovné obdobia
POST/v1/accounting/fiscal-yearsZaložiť účtovné obdobie
POST/v1/accounting/fiscal-years/{id}/closeUzavrieť účtovné obdobie
GET/v1/accounting/journalÚčtovný denník
POST/v1/accounting/journalZapísať do denníka
DELETE/v1/accounting/journal/{id}Zahodiť koncept zápisu
PUT/v1/accounting/journal/{id}/linesPrepísať riadky konceptu
POST/v1/accounting/journal/{id}/postZaúčtovať zápis
POST/v1/accounting/journal/{id}/reverseStornovať zápis
GET/v1/accounting/ledgerHlavná kniha
GET/v1/accounting/open-itemsSaldokonto z hlavnej knihy
GET/v1/accounting/openingPlán otvorenia účtovných kníh
POST/v1/accounting/openingOtvoriť účtovné knihy
GET/v1/accounting/periodsMesiace účtovného obdobia a ich uzávierka
POST/v1/accounting/periods/closeUzavrieť mesiac
POST/v1/accounting/periods/reopenZnovu otvoriť mesiac
POST/v1/accounting/postZaúčtovať doklad
POST/v1/accounting/post-unpostedZaúčtovať nezaúčtované
GET/v1/accounting/posting-rulesPredkontácie
PUT/v1/accounting/posting-rulesNastaviť predkontácie
GET/v1/accounting/pushesČo už do účtovníctva odišlo
POST/v1/accounting/pushes/{id}/retryZnovu odoslať doklad, ktorý neprešiel
GET/v1/accounting/statement-headerÚdaje hlavičky účtovnej závierky
PUT/v1/accounting/statement-headerZapísať údaje hlavičky účtovnej závierky
GET/v1/accounting/statement-mappingsVýnimky v zaradení účtu do riadku výkazu
PUT/v1/accounting/statement-mappingsZaradiť účet do iného riadku výkazu
DELETE/v1/accounting/statement-mappings/{code}Vrátiť účtu predvolené zaradenie
GET/v1/accounting/statement-notesPoznámky k účtovnej závierke
PUT/v1/accounting/statement-notesUložiť poznámky k účtovnej závierke
GET/v1/accounting/statement-notes/pdfPoznámky k účtovnej závierke ako PDF na priloženie
GET/v1/accounting/statementsÚčtovná závierka za obdobie
GET/v1/accounting/statements/xmlÚčtovná závierka v úradnom XML
GET/v1/accounting/trial-balancePredvaha
GET/v1/accounting/unpostedČo v hlavnej knihe chýba
GET/v1/accounting/verification-manifestPodklad na porovnanie s iným účtovným programom
GET/v1/handover-checkČo nesedí pred odovzdaním účtovníčke

Upomienky

GET/v1/reminder-rulesŠablóny upomienok (D+1 / D+7 / D+14)
PATCH/v1/reminder-rules/{id}Zmena pravidla automatickej správy
POST/v1/reminders/runSpustí scheduled upomienky pre dnešný deň

Úroky z omeškania

GET/v1/late-interest/candidatesFaktúry po splatnosti a úrok k dnešku
GET/v1/late-interest/noticesVystavené úrokové doklady
POST/v1/late-interest/noticesVyčísliť úrok a založiť doklad
GET/v1/late-interest/notices/{id}Jeden úrokový doklad
GET/v1/late-interest/notices/{id}/htmlDoklad na odoslanie dlžníkovi
POST/v1/late-interest/notices/{id}/issueVystaviť koncept
POST/v1/late-interest/notices/{id}/waiveOdpustiť úrok
GET/v1/late-interest/rateSadzba platná v daný deň aj s jej zdrojom

Vyťažovanie

GET/v1/extraction-batchesPostup hromadných vyťažení
GET/v1/extraction-creditsZostatok kreditu a kniha pohybov
POST/v1/extraction-creditsPripísanie balíka kreditov
GET/v1/extractionsZoznam vyťažení
POST/v1/extractionsPrijatie dokladu na vyťaženie
POST/v1/extractions/{id}/confirmPotvrdenie vyťaženia a vznik nákladu
POST/v1/extractions/{id}/discardZahodenie vyťaženia
POST/v1/extractions/confirmPotvrdenie viacerých vyťažení naraz
POST/v1/extractions/enqueueHromadné vyťaženie priečinka „Na spracovanie“
POST/v1/extractions/runSpracovanie fronty vyťažení

Zápočty

GET/v1/offsetsZoznam zápočtov
POST/v1/offsetsRozpracovaný zápočet
GET/v1/offsets/{id}Zápočet aj s položkami
PATCH/v1/offsets/{id}Upraviť rozpracovaný zápočet
POST/v1/offsets/{id}/cancelZrušiť zápočet pred doručením
POST/v1/offsets/{id}/deliverZápočet došiel protistrane
GET/v1/offsets/{id}/htmlDoklad zápočtu na odoslanie
POST/v1/offsets/{id}/issueVystaviť zápočet
GET/v1/offsets/candidatesS kým sa dá započítať
GET/v1/offsets/proposeNávrh zápočtu s protistranou

Záväzky

GET/v1/payablesZáväzky vo vekových pásmach
POST/v1/payables/expenses/{id}/paymentÚhrada prijatého nákladu, aj čiastočná
GET/v1/payables/itemsJednotlivé záväzky
GET/v1/payables/summarySúhrn záväzkov