api.nisa.digital
2025-12-01

Comprehensive guide to our Pohoda/Pamica endpoints

/v1/slovensko/
Lookup companies in the tax register.
URL
/v1/slovensko/tax/:search
:search - partial company name or ICO
Request
GET
Response
200text/json

{
      cin: string, company id (ICO)
      tin: string, tax id (DIC)
      vatin: string, VAT id (ICDPH)
      name: string
      street: string
      municipality: string
      postal_code: string
      country: string
      effective_to: string, YYYY-MM-DD
}[]
Error Codes
400Bad Request
Your request doesn't meet the required input format
401Not Authorized
Your request doesn't meet authorization requirements
404Not Found
The entity you're looking for is missing
460Request Error
Requested operation wasn't performed, or XML import failed
500Internal Error
We encountered an internal server error
503Not Available
Requested entity is offline and cannot be reached, try again later
Lookup companies in the VAT register.
URL
/v1/slovensko/vat/:search
:search - partial company name or ICO
Request
GET
Response
200text/json

{
      cin: string, company id (ICO)
      vatin: string, VAT id (ICDPH)
      name: string
      street: string
      municipality: string
      postal_code: string
      country: string
      effective_to: string, YYYY-MM-DD
      registered_on: string, YYYY-MM-DD
      registration_kind: string
}[]
Error Codes
400Bad Request
Your request doesn't meet the required input format
401Not Authorized
Your request doesn't meet authorization requirements
404Not Found
The entity you're looking for is missing
460Request Error
Requested operation wasn't performed, or XML import failed
500Internal Error
We encountered an internal server error
503Not Available
Requested entity is offline and cannot be reached, try again later
/v1/info/
List accounting units (years) for a company id prefix.
Request
GET
Response
200text/json
Error Codes
400Bad Request
Your request doesn't meet the required input format
401Not Authorized
Your request doesn't meet authorization requirements
404Not Found
The entity you're looking for is missing
460Request Error
Requested operation wasn't performed, or XML import failed
500Internal Error
We encountered an internal server error
503Not Available
Requested entity is offline and cannot be reached, try again later
/v1/costcenter/
List cost centers for a unit.
URL
/v1/costcenter/:uid
:uid - accounting unit identifier
Request
GET
Response
200text/json

{
   ID: number, database id
   IDS: string, cost center id
   SText: string, cost center name
}[]
Error Codes
400Bad Request
Your request doesn't meet the required input format
401Not Authorized
Your request doesn't meet authorization requirements
404Not Found
The entity you're looking for is missing
460Request Error
Requested operation wasn't performed, or XML import failed
500Internal Error
We encountered an internal server error
503Not Available
Requested entity is offline and cannot be reached, try again later
/v1/activity/
List activities for a unit.
URL
/v1/activity/:uid
:uid - accounting unit identifier
Request
GET
Response
200text/json

{
   ID: number, database id
   IDS: string, activity id
   SText: string, activity name
}[]
Error Codes
400Bad Request
Your request doesn't meet the required input format
401Not Authorized
Your request doesn't meet authorization requirements
404Not Found
The entity you're looking for is missing
460Request Error
Requested operation wasn't performed, or XML import failed
500Internal Error
We encountered an internal server error
503Not Available
Requested entity is offline and cannot be reached, try again later
/v1/custom_order/
List custom orders for a unit.
URL
/v1/custom_order/:uid
:uid - accounting unit identifier
Request
GET
Response
200text/json

{
   ID: number, database id
   IDS: string, activity id
   SText: string, activity name
}[]
Error Codes
400Bad Request
Your request doesn't meet the required input format
401Not Authorized
Your request doesn't meet authorization requirements
404Not Found
The entity you're looking for is missing
460Request Error
Requested operation wasn't performed, or XML import failed
500Internal Error
We encountered an internal server error
503Not Available
Requested entity is offline and cannot be reached, try again later
/v1/vat/
List VAT mappings: pre-accounting, VAT breakdown, and KV DPH groups.
URL
/v1/vat/:uid
:uid - accounting unit identifier
Request
GET
Response
200text/json

{
   available: (
      'issued_invoices'|
      'issued_credit_notes'|
      'issued_advance_invoices'|
      'issued_receivables'|
      'received_invoices'|
      'received_credit_notes'|
      'received_advance_invoices'|
      'received_payables'
   )[],
   incoming: (
      'issued_invoices'|
      'issued_credit_notes'|
      'issued_advance_invoices'|
      'issued_receivables'
   )[],
   outgoing: (
      'received_invoices'|
      'received_credit_notes'|
      'received_advance_invoices'|
      'received_payables'
   )[],
   pre_accounting: {
      issued_invoices: { ID: number, IDS: string, SText: string }[],
      issued_credit_notes: { ID: number, IDS: string, SText: string }[],
      issued_advance_invoices: { ID: number, IDS: string, SText: string }[],
      issued_receivables: { ID: number, IDS: string, SText: string }[],
      received_invoices: { ID: number, IDS: string, SText: string }[],
      received_credit_notes: { ID: number, IDS: string, SText: string }[],
      received_advance_invoices: { ID: number, IDS: string, SText: string }[],
      received_payables: { ID: number, IDS: string, SText: string }[],
   },
   vat_breakdown: {
      issued_invoices: { ID: number, IDS: string, SText: string }[],
      issued_credit_notes: { ID: number, IDS: string, SText: string }[],
      issued_advance_invoices: { ID: number, IDS: string, SText: string }[],
      issued_receivables: { ID: number, IDS: string, SText: string }[],
      received_invoices: { ID: number, IDS: string, SText: string }[],
      received_credit_notes: { ID: number, IDS: string, SText: string }[],
      received_advance_invoices: { ID: number, IDS: string, SText: string }[],
      received_payables: { ID: number, IDS: string, SText: string }[],
   },
   vat_split: {
      issued_invoices: { ID: number, IDS: string, SText: string }[],
      issued_credit_notes: { ID: number, IDS: string, SText: string }[],
      issued_advance_invoices: { ID: number, IDS: string, SText: string }[],
      issued_receivables: { ID: number, IDS: string, SText: string }[],
      received_invoices: { ID: number, IDS: string, SText: string }[],
      received_credit_notes: { ID: number, IDS: string, SText: string }[],
      received_advance_invoices: { ID: number, IDS: string, SText: string }[],
      received_payables: { ID: number, IDS: string, SText: string }[],
   },
}
Error Codes
400Bad Request
Your request doesn't meet the required input format
401Not Authorized
Your request doesn't meet authorization requirements
404Not Found
The entity you're looking for is missing
460Request Error
Requested operation wasn't performed, or XML import failed
500Internal Error
We encountered an internal server error
503Not Available
Requested entity is offline and cannot be reached, try again later
/v1/accounts_chart/
List chart of accounts for a unit.
URL
/v1/accounts_chart/:uid
:uid - accounting unit identifier
Request
GET
Response
200text/json

{
   ID: number, database id
   IDS: string, account number
   SText: string, account name
}[]
Error Codes
400Bad Request
Your request doesn't meet the required input format
401Not Authorized
Your request doesn't meet authorization requirements
404Not Found
The entity you're looking for is missing
460Request Error
Requested operation wasn't performed, or XML import failed
500Internal Error
We encountered an internal server error
503Not Available
Requested entity is offline and cannot be reached, try again later
/v1/accounting_journal/
List accounting journal entries for a unit.
URL
/v1/accounting_journal/:uid
:uid - accounting unit identifier
Request
GET
Response
200text/json

{
   Datum: date, date
   DatZdPln: date, date of taxable supply
   Cislo: string, number
   SText: string, text
   UMD: string, umd
   UD: string, ud
   Kc: number, amount
   Mena: string, currency
   CmKurs: number, exchange rate in foreign currency
   Cm: number, amount in foreign currency
   Stredisko: string, cost center
   CisloZAK: string, order number
   Cinnost: string, activity
   ParSym: string, pairing symbol
   ParSym2: string, pairing symobol
   Firma: string, company
   Jmeno: string, name
   ParICO: string, company id
   Pozn: string, note
   DatCreate: date, creation date
   DatSave: date, date of modification
}[]
Error Codes
400Bad Request
Your request doesn't meet the required input format
401Not Authorized
Your request doesn't meet authorization requirements
404Not Found
The entity you're looking for is missing
460Request Error
Requested operation wasn't performed, or XML import failed
500Internal Error
We encountered an internal server error
503Not Available
Requested entity is offline and cannot be reached, try again later
/v1/invoice/
List invoice numberings for a unit.
URL
/v1/invoice/numbering/:uid
:uid - accounting unit identifier
Request
GET
Response
200text/json

{
   type: 'pohoda_sk'|'pohoda_cz'
   available: (
      'issued_invoice'|
      'issued_credit_note'|
      'issued_advance_invoice'|
      'issued_receivables'|
      'received_invoice'|
      'received_credit_note'|
      'received_advance_invoice'|
      'received_payables'
   )[]
   numbering: {
      ID: number, database id
      Rok: number, numbering year
      IDS: string, numbering prefix
      Cislo: string, next number
      SText: string, naming
      type: one of 'available' values
   }[]
}

Usually, number is IDS + Cislo, e.g. "PF2300001"
Error Codes
400Bad Request
Your request doesn't meet the required input format
401Not Authorized
Your request doesn't meet authorization requirements
404Not Found
The entity you're looking for is missing
460Request Error
Requested operation wasn't performed, or XML import failed
500Internal Error
We encountered an internal server error
503Not Available
Requested entity is offline and cannot be reached, try again later
Export invoice PDF by number.
URL
/v1/invoice/export/pdf/:uid/:invoice_number
:uid - accounting unit identifier
:invoice_number - invoice number
Request
GET
Response
200application/pdf
Buffer PDF
Error Codes
400Bad Request
Your request doesn't meet the required input format
401Not Authorized
Your request doesn't meet authorization requirements
404Not Found
The entity you're looking for is missing
460Request Error
Requested operation wasn't performed, or XML import failed
500Internal Error
We encountered an internal server error
503Not Available
Requested entity is offline and cannot be reached, try again later
List companies referenced by unit invoices.
URL
/v1/invoice/companies/:uid
:uid - accounting unit identifier
Request
GET
Response
200text/json

{
   Firma: string, company name
   Jmeno: string|null, contact person
   Ulice: string|null, street
   PSC: string|null, postal code
   Obec: string|null, city
   Email: string|null, email
   Tel: string|null, phone
   ICO: string|null, company id
   DIC: string|null, tax id
   ICDPH: string|null, vat id
}[]
Error Codes
400Bad Request
Your request doesn't meet the required input format
401Not Authorized
Your request doesn't meet authorization requirements
404Not Found
The entity you're looking for is missing
460Request Error
Requested operation wasn't performed, or XML import failed
500Internal Error
We encountered an internal server error
503Not Available
Requested entity is offline and cannot be reached, try again later
List invoices with server-side filtering and pagination.
URL
/v1/invoice/list/:uid
:uid - accounting unit identifier
Request
POSTtext/json
{
  from?: number,  // default 0
  size?: number,  // default 30
  ids?: number[], // optional restrict to IDs
  asc?: string,   // optional sort asc e.g. "Datum;ID"
  desc?: string,  // optional sort desc e.g. "Datum;ID"
  on?: string[]   // optional filters: tokens "Field;search;from;to"
}
Response
200text/json
{
  total: number,
  filtered: number,
  fields: DField[],
  data: any[],
  summary: { [key: string]: number },
  query: DQuery
}

DField = {
  name: string,
  text?: string,
  sort?: 'asc'|'desc'|'',
  // simple values (one of these may be present)
  string?: string|null,
  number?: number|null,
  numbers?: number[],
  date?: string|null,          // ISO YYYY-MM-DD
  checkbox?: boolean|null,
  select?: { // select-like inputs
    type: 'number'|'date'|'string',
    value?: any|null,
    options: { value: any, text: string }[]
  },
  checkbuttons?: { // select-like inputs
    type: 'number'|'string',
    value?: any|null,
    options: { value: any, text: string }[]
  },
  checkboxes?: { // select-like inputs
    type: 'number'|'date'|'string'|'number[]'|'string[]',
    values?: any[],
    options: { value: any, text: string }[],
    classInput?: string
  },
  range?: { // ranges and validity
    type: 'number'|'date',
    nullable?: boolean,
    from?: number|string|Date|null,
    to?: number|string|Date|null
  },
  valid_until?: {
    type: 'date',
    nullable?: boolean,
    value?: string|Date|null
  }
}

DQuery = {
  from: number,
  size: number,
  init?: number,
  fields: DField[]
}
Error Codes
400Bad Request
Your request doesn't meet the required input format
401Not Authorized
Your request doesn't meet authorization requirements
404Not Found
The entity you're looking for is missing
460Request Error
Requested operation wasn't performed, or XML import failed
500Internal Error
We encountered an internal server error
503Not Available
Requested entity is offline and cannot be reached, try again later
Get invoice detail by number.
URL
/v1/invoice/by-number/:uid/:invoice_number
:uid - accounting unit identifier
:invoice_number - invoice number
Request
GET
Response
200text/json

// TInvoice shape (key fields)
{
   ID: number, internal id
   Cislo: string, invoice number
   RelTpFak: number, invoice type
   Firma: string, partner name
   ICO?: string|null, partner id
   Datum: string, issue date YYYY-MM-DD
   DatSplat?: string|null, due date YYYY-MM-DD
   KcCelkem: number, total amount
   KcLikv: number, paid amount
   items: TInvoiceItem[], line items
}
Error Codes
400Bad Request
Your request doesn't meet the required input format
401Not Authorized
Your request doesn't meet authorization requirements
404Not Found
The entity you're looking for is missing
460Request Error
Requested operation wasn't performed, or XML import failed
500Internal Error
We encountered an internal server error
503Not Available
Requested entity is offline and cannot be reached, try again later
Import invoice XML and return vendor response.
URL
/v1/invoice/import/xml/:uid
:uid - accounting unit identifier
Request
POSTtext/xml
text/xml
// body: XML conforming to Stormware invoice.xsd (SK/CZ)
// either a single <inv:invoice> or a <dat:dataPack> wrapper
Schema: SK, CZ
<dat:dataPack version="2.0" id="import" ico="12345678" application="API" note="optional">
  <dat:dataPackItem id="1" version="2.0">
    <inv:invoice version="2.0">...</inv:invoice>
  </dat:dataPackItem>
</dat:dataPack>
Response
200text/xml
XML response according to SK or CZ xml schema.
Error Codes
400Bad Request
Your request doesn't meet the required input format
401Not Authorized
Your request doesn't meet authorization requirements
404Not Found
The entity you're looking for is missing
460Request Error
Requested operation wasn't performed, or XML import failed
500Internal Error
We encountered an internal server error
503Not Available
Requested entity is offline and cannot be reached, try again later
Attach a file to an invoice.
URL
/v1/invoice/file/add/:uid
:uid - accounting unit identifier
Request
POSTtext/json
{
  invoice: string, // invoice number
  name: string,    // file name including extension
  content: string  // base64-encoded file content
}
Response
200text/plain
internal directory path for invoice
Error Codes
400Bad Request
Your request doesn't meet the required input format
401Not Authorized
Your request doesn't meet authorization requirements
404Not Found
The entity you're looking for is missing
460Request Error
Requested operation wasn't performed, or XML import failed
500Internal Error
We encountered an internal server error
503Not Available
Requested entity is offline and cannot be reached, try again later
Import ISDOC/ISDOCX from PDF and return vendor response.
URL
/v1/invoice/import/isdoc/:uid
:uid - accounting unit identifier
Request
POSTtext/json
{
  name: string,    // original file name (e.g., my.pdf)
  content: string  // base64-encoded PDF content
}
Response
200text/xml
XML response according to SK or CZ xml schema.
Error Codes
400Bad Request
Your request doesn't meet the required input format
401Not Authorized
Your request doesn't meet authorization requirements
404Not Found
The entity you're looking for is missing
460Request Error
Requested operation wasn't performed, or XML import failed
500Internal Error
We encountered an internal server error
503Not Available
Requested entity is offline and cannot be reached, try again later
Update invoice or line facility (centre, activity, order).
URL
/v1/invoice/facility/:uid
:uid - accounting unit identifier
Request
POSTtext/json
{
  invoice_id: number,       // required invoice ID
  invoice_item_id?: number, // optional: update single line if provided
  refStr?: number,          // optional: centre ID (stredisko)
  refCin?: number,          // optional: activity ID (cinnost)
  cisloZAK?: string         // optional: order number
}
Response
200text/plain
OK
Error Codes
400Bad Request
Your request doesn't meet the required input format
401Not Authorized
Your request doesn't meet authorization requirements
404Not Found
The entity you're looking for is missing
460Request Error
Requested operation wasn't performed, or XML import failed
500Internal Error
We encountered an internal server error
503Not Available
Requested entity is offline and cannot be reached, try again later
/v1/bank/
List bank accounts for a unit.
URL
/v1/bank/accounts/:uid
:uid - accounting unit identifier
Request
GET
Response
200text/json

{
   ID: number, database id
   IDS: string, account identifiers
   IBAN: string, international bank account number
   Swift: string, swift code
   SText: string, account name
   KodBanky: string, bank code
   Banka: string, bank name
   Mena: string, currency
   Zrusen: date, cancelation date
}[]
Error Codes
400Bad Request
Your request doesn't meet the required input format
401Not Authorized
Your request doesn't meet authorization requirements
404Not Found
The entity you're looking for is missing
460Request Error
Requested operation wasn't performed, or XML import failed
500Internal Error
We encountered an internal server error
503Not Available
Requested entity is offline and cannot be reached, try again later
Get bank account balance as of date.
URL
/v1/bank/balance/:uid
:uid - accounting unit identifier
Request
GET
account_id (query), date (query, optional)
Response
200text/json

{
   balance: number, running balance before end of date
}
Error Codes
400Bad Request
Your request doesn't meet the required input format
401Not Authorized
Your request doesn't meet authorization requirements
404Not Found
The entity you're looking for is missing
460Request Error
Requested operation wasn't performed, or XML import failed
500Internal Error
We encountered an internal server error
503Not Available
Requested entity is offline and cannot be reached, try again later
List bank balances as of date.
URL
/v1/bank/balances/:uid
:uid - accounting unit identifier
Request
GET
date (query, optional)
Response
200text/json

{
   id: number, account id
   IDS: string, account code
   Banka: string, bank name
   IBAN: string, international account number
   balance: number, running balance before end of date
}[]
Error Codes
400Bad Request
Your request doesn't meet the required input format
401Not Authorized
Your request doesn't meet authorization requirements
404Not Found
The entity you're looking for is missing
460Request Error
Requested operation wasn't performed, or XML import failed
500Internal Error
We encountered an internal server error
503Not Available
Requested entity is offline and cannot be reached, try again later
Get bank account detail by ID.
URL
/v1/bank/account/:uid/:id
:uid - accounting unit identifier
:id - bank account ID
Request
GET
Response
200text/json

{
   ID: number, database id
   IDS: string, account identifiers
   IBAN: string, international bank account number
   Swift: string, swift code
   SText: string, account name
   KodBanky: string, bank code
   Banka: string, bank name
   Mena: string, currency
   Zrusen: date|null, cancelation date
}
Error Codes
400Bad Request
Your request doesn't meet the required input format
401Not Authorized
Your request doesn't meet authorization requirements
404Not Found
The entity you're looking for is missing
460Request Error
Requested operation wasn't performed, or XML import failed
500Internal Error
We encountered an internal server error
503Not Available
Requested entity is offline and cannot be reached, try again later
List bank movements with server-side filtering and pagination.
URL
/v1/bank/list/:uid
:uid - accounting unit identifier
Request
GET
POSTtext/json
{
  from?: number,  // default 0
  size?: number,  // default 30
  ids?: number[], // optional restrict to IDs
  asc?: string,   // optional sort asc e.g. "Datum;ID"
  desc?: string,  // optional sort desc e.g. "Datum;ID"
  on?: string[]   // optional filters: tokens "Field;search;from;to"
}
Response
200text/json
{
  total: number,
  filtered: number,
  fields: DField[],
  data: any[],
  summary: { [key: string]: number },
  query: DQuery
}

DField = {
  name: string,
  text?: string,
  sort?: 'asc'|'desc'|'',
  // simple values (one of these may be present)
  string?: string|null,
  number?: number|null,
  numbers?: number[],
  date?: string|null,          // ISO YYYY-MM-DD
  checkbox?: boolean|null,
  select?: { // select-like inputs
    type: 'number'|'date'|'string',
    value?: any|null,
    options: { value: any, text: string }[]
  },
  checkbuttons?: { // select-like inputs
    type: 'number'|'string',
    value?: any|null,
    options: { value: any, text: string }[]
  },
  checkboxes?: { // select-like inputs
    type: 'number'|'date'|'string'|'number[]'|'string[]',
    values?: any[],
    options: { value: any, text: string }[],
    classInput?: string
  },
  range?: { // ranges and validity
    type: 'number'|'date',
    nullable?: boolean,
    from?: number|string|Date|null,
    to?: number|string|Date|null
  },
  valid_until?: {
    type: 'date',
    nullable?: boolean,
    value?: string|Date|null
  }
}

DQuery = {
  from: number,
  size: number,
  init?: number,
  fields: DField[]
}
Error Codes
400Bad Request
Your request doesn't meet the required input format
401Not Authorized
Your request doesn't meet authorization requirements
404Not Found
The entity you're looking for is missing
460Request Error
Requested operation wasn't performed, or XML import failed
500Internal Error
We encountered an internal server error
503Not Available
Requested entity is offline and cannot be reached, try again later
/v1/storage/
List storages with total inventory value.
URL
/v1/storage/:uid
:uid - accounting unit identifier
Request
GET
Response
200text/json

{
   ID: number, storage id
   IDS: string, storage code
   SText: string, storage name
   suma: number, total inventory value
}[]
Error Codes
400Bad Request
Your request doesn't meet the required input format
401Not Authorized
Your request doesn't meet authorization requirements
404Not Found
The entity you're looking for is missing
460Request Error
Requested operation wasn't performed, or XML import failed
500Internal Error
We encountered an internal server error
503Not Available
Requested entity is offline and cannot be reached, try again later
List items for a specific storage.
URL
/v1/storage/:uid/:id/items
:uid - accounting unit identifier
:id - storage ID
Request
GET
Response
200text/json

{
   ID: number, item id
   IDS: string, item code
   EAN: string|null, barcode
   RefSklad: number, storage id
   Nazev: string, item name
   SText: string, description
   StavZ: number, stock quantity
   MJ: string, unit
   NakupC: number, purchase price
}[]
Error Codes
400Bad Request
Your request doesn't meet the required input format
401Not Authorized
Your request doesn't meet authorization requirements
404Not Found
The entity you're looking for is missing
460Request Error
Requested operation wasn't performed, or XML import failed
500Internal Error
We encountered an internal server error
503Not Available
Requested entity is offline and cannot be reached, try again later
/v1/cash/
List cash accounts for a unit.
URL
/v1/cash/accounts/:uid
:uid - accounting unit identifier
Request
GET
Response
200text/json

{
   ID: number, database id
   IDS: string, account identifiers
   SText: string, account name
   Zrusen: date, cancelation date
}[]
Error Codes
400Bad Request
Your request doesn't meet the required input format
401Not Authorized
Your request doesn't meet authorization requirements
404Not Found
The entity you're looking for is missing
460Request Error
Requested operation wasn't performed, or XML import failed
500Internal Error
We encountered an internal server error
503Not Available
Requested entity is offline and cannot be reached, try again later
List cash movements with server-side filtering and pagination.
URL
/v1/cash/list/:uid
:uid - accounting unit identifier
Request
POSTtext/json
{
  from?: number,  // default 0
  size?: number,  // default 30
  ids?: number[], // optional restrict to IDs
  asc?: string,   // optional sort asc e.g. "Datum;ID"
  desc?: string,  // optional sort desc e.g. "Datum;ID"
  on?: string[]   // optional filters: tokens "Field;search;from;to"
}
Response
200text/json
{
  total: number,
  filtered: number,
  fields: DField[],
  data: any[],
  summary: { [key: string]: number },
  query: DQuery
}

DField = {
  name: string,
  text?: string,
  sort?: 'asc'|'desc'|'',
  // simple values (one of these may be present)
  string?: string|null,
  number?: number|null,
  numbers?: number[],
  date?: string|null,          // ISO YYYY-MM-DD
  checkbox?: boolean|null,
  select?: { // select-like inputs
    type: 'number'|'date'|'string',
    value?: any|null,
    options: { value: any, text: string }[]
  },
  checkbuttons?: { // select-like inputs
    type: 'number'|'string',
    value?: any|null,
    options: { value: any, text: string }[]
  },
  checkboxes?: { // select-like inputs
    type: 'number'|'date'|'string'|'number[]'|'string[]',
    values?: any[],
    options: { value: any, text: string }[],
    classInput?: string
  },
  range?: { // ranges and validity
    type: 'number'|'date',
    nullable?: boolean,
    from?: number|string|Date|null,
    to?: number|string|Date|null
  },
  valid_until?: {
    type: 'date',
    nullable?: boolean,
    value?: string|Date|null
  }
}

DQuery = {
  from: number,
  size: number,
  init?: number,
  fields: DField[]
}
Error Codes
400Bad Request
Your request doesn't meet the required input format
401Not Authorized
Your request doesn't meet authorization requirements
404Not Found
The entity you're looking for is missing
460Request Error
Requested operation wasn't performed, or XML import failed
500Internal Error
We encountered an internal server error
503Not Available
Requested entity is offline and cannot be reached, try again later
Get cash register balance as of date.
URL
/v1/cash/balance/:uid/:id
:uid - accounting unit identifier
:id - cash register ID
Request
GET
date (query param) optional
Response
200text/json
{ balance: number }
Error Codes
400Bad Request
Your request doesn't meet the required input format
401Not Authorized
Your request doesn't meet authorization requirements
404Not Found
The entity you're looking for is missing
460Request Error
Requested operation wasn't performed, or XML import failed
500Internal Error
We encountered an internal server error
503Not Available
Requested entity is offline and cannot be reached, try again later
List cash register balances as of date.
URL
/v1/cash/balances/:uid
:uid - accounting unit identifier
Request
GET
date (query param) optional
Response
200text/json
{ id, IDS, SText, balance }[]
Error Codes
400Bad Request
Your request doesn't meet the required input format
401Not Authorized
Your request doesn't meet authorization requirements
404Not Found
The entity you're looking for is missing
460Request Error
Requested operation wasn't performed, or XML import failed
500Internal Error
We encountered an internal server error
503Not Available
Requested entity is offline and cannot be reached, try again later
List cash movements with server-side filtering and pagination.
URL
/v1/cash/list/:uid
:uid - accounting unit identifier
Request
GET
Response
200text/json
{
  total: number,
  filtered: number,
  fields: DField[],
  data: any[],
  summary: { [key: string]: number },
  query: DQuery
}

DField = {
  name: string,
  text?: string,
  sort?: 'asc'|'desc'|'',
  // simple values (one of these may be present)
  string?: string|null,
  number?: number|null,
  numbers?: number[],
  date?: string|null,          // ISO YYYY-MM-DD
  checkbox?: boolean|null,
  select?: { // select-like inputs
    type: 'number'|'date'|'string',
    value?: any|null,
    options: { value: any, text: string }[]
  },
  checkbuttons?: { // select-like inputs
    type: 'number'|'string',
    value?: any|null,
    options: { value: any, text: string }[]
  },
  checkboxes?: { // select-like inputs
    type: 'number'|'date'|'string'|'number[]'|'string[]',
    values?: any[],
    options: { value: any, text: string }[],
    classInput?: string
  },
  range?: { // ranges and validity
    type: 'number'|'date',
    nullable?: boolean,
    from?: number|string|Date|null,
    to?: number|string|Date|null
  },
  valid_until?: {
    type: 'date',
    nullable?: boolean,
    value?: string|Date|null
  }
}

DQuery = {
  from: number,
  size: number,
  init?: number,
  fields: DField[]
}
Error Codes
400Bad Request
Your request doesn't meet the required input format
401Not Authorized
Your request doesn't meet authorization requirements
404Not Found
The entity you're looking for is missing
460Request Error
Requested operation wasn't performed, or XML import failed
500Internal Error
We encountered an internal server error
503Not Available
Requested entity is offline and cannot be reached, try again later
List cash numberings for a unit.
URL
/v1/cash/numbering/:uid
:uid - accounting unit identifier
Request
GET
Response
200text/json

{
   type: string, // pohoda_sk, pohoda_cz
   available: string[], // incoming, outgoing
   numbering: {
      ID: number, database id
      Rok: number, numbering year
      IDS: string, numbering prefix
      Cislo: string, next number
      SText: string, naming
      type: string, numbering type, see types above
   }[]
}

Ussualy, number is combination of IDS an Cislo, like "HP2300001"
Error Codes
400Bad Request
Your request doesn't meet the required input format
401Not Authorized
Your request doesn't meet authorization requirements
404Not Found
The entity you're looking for is missing
460Request Error
Requested operation wasn't performed, or XML import failed
500Internal Error
We encountered an internal server error
503Not Available
Requested entity is offline and cannot be reached, try again later
Import cash voucher XML and return vendor response.
URL
/v1/cash/import/xml/:uid
:uid - accounting unit identifier
Request
POSTtext/xml
text/xml
// body: XML conforming to Stormware voucher.xsd (SK/CZ)
// either a single <vch:voucher> or a <dat:dataPack> wrapper
Schema: SK, CZ
<dat:dataPack version="2.0" id="import" application="API">
  <dat:dataPackItem id="1" version="2.0">
    <vch:voucher version="2.0">...</vch:voucher>
  </dat:dataPackItem>
</dat:dataPack>
Response
200text/xml
XML response according to SK or CZ xml schema.
Error Codes
400Bad Request
Your request doesn't meet the required input format
401Not Authorized
Your request doesn't meet authorization requirements
404Not Found
The entity you're looking for is missing
460Request Error
Requested operation wasn't performed, or XML import failed
500Internal Error
We encountered an internal server error
503Not Available
Requested entity is offline and cannot be reached, try again later
/v1/personal/
List employees for a unit.
URL
/v1/personal/employees/:uid
uid - accounting unit identifier
Request
GET
Response
200text/json

{
   employee_number: string, employee number
   employee_name: string, employee name
   employee_surname: string, employee surname
   employee_prefix: string, employee prefix
   employee_birth_number: string, employee birth number
   employment_enter_date: date, employment start date in "yyyy-mm-dd" format
   employment_leave_date: date, employment end date in "yyyy-mm-dd" format
   employment_active: boolean, employment active
   employment_number: string, employment number
   employment_position: string, employment position
   employment_name: string, employment name
   employment_place: string, employment place
   department_name: string, department name
   working_hour_start: string, working hour start
   working_hour_end: string, working hour end
   working_schedule: string, working schedule
   working_daily: string, working daily
   working_weekly: string, working weekly
   working_monthly: string, working monthly
}[]
Error Codes
400Bad Request
Your request doesn't meet the required input format
401Not Authorized
Your request doesn't meet authorization requirements
404Not Found
The entity you're looking for is missing
460Request Error
Requested operation wasn't performed, or XML import failed
500Internal Error
We encountered an internal server error
503Not Available
Requested entity is offline and cannot be reached, try again later
Import Pamica attendance or employee XML and return vendor response.
URL
/v1/personal/import/xml/:uid
uid - accounting unit identifier
Request
POSTtext/xml
text/xml
// body: XML conforming to Pamica data.xsd (CZ)
// either a single entity or a <dat:dataPack> wrapper
Schema: CZ
<dat:dataPack version="2.0" id="import" application="API">
  <dat:dataPackItem id="1" version="2.0">
    <per:data version="2.0">...</per:data>
  </dat:dataPackItem>
</dat:dataPack>
Response
200text/xml
XML response according to CZ xml schema.
Error Codes
400Bad Request
Your request doesn't meet the required input format
401Not Authorized
Your request doesn't meet authorization requirements
404Not Found
The entity you're looking for is missing
460Request Error
Requested operation wasn't performed, or XML import failed
500Internal Error
We encountered an internal server error
503Not Available
Requested entity is offline and cannot be reached, try again later
List employments with server-side filtering and pagination.
URL
/v1/personal/employments/list/:uid
uid - accounting unit identifier
Request
GET
POSTtext/json
{
  from?: number,   // default 0
  size?: number,   // default 30
  fields?: DField[] // optional filters and sort; see DField in Response below
}
Response
200text/json
{
  total: number,
  filtered: number,
  fields: DField[],
  data: any[],
  summary: { [key: string]: number },
  query: DQuery
}

DField = {
  name: string,
  text?: string,
  sort?: 'asc'|'desc'|'',
  // simple values (one of these may be present)
  string?: string|null,
  number?: number|null,
  numbers?: number[],
  date?: string|null,          // ISO YYYY-MM-DD
  checkbox?: boolean|null,
  select?: { // select-like inputs
    type: 'number'|'date'|'string',
    value?: any|null,
    options: { value: any, text: string }[]
  },
  checkbuttons?: { // select-like inputs
    type: 'number'|'string',
    value?: any|null,
    options: { value: any, text: string }[]
  },
  checkboxes?: { // select-like inputs
    type: 'number'|'date'|'string'|'number[]'|'string[]',
    values?: any[],
    options: { value: any, text: string }[],
    classInput?: string
  },
  range?: { // ranges and validity
    type: 'number'|'date',
    nullable?: boolean,
    from?: number|string|Date|null,
    to?: number|string|Date|null
  },
  valid_until?: {
    type: 'date',
    nullable?: boolean,
    value?: string|Date|null
  }
}

DQuery = {
  from: number,
  size: number,
  init?: number,
  fields: DField[]
}
Error Codes
400Bad Request
Your request doesn't meet the required input format
401Not Authorized
Your request doesn't meet authorization requirements
404Not Found
The entity you're looking for is missing
460Request Error
Requested operation wasn't performed, or XML import failed
500Internal Error
We encountered an internal server error
503Not Available
Requested entity is offline and cannot be reached, try again later
List employments for one employee.
URL
/v1/personal/employments/:uid/:employee_id
uid - accounting unit identifier
employee_id - employee ID
uid - accounting unit identifier
pomer_id - employment relationship ID
Request
GET
Response
200text/json

{
   Cislo: string, employment number
   status: 'yes'|'no', employment active flag
   DatNast?: string, start date YYYY-MM-DD
   DatOdch?: string, end date YYYY-MM-DD
   Zarazeni: string, position text
   Str?: string, cost centre code
   RefZAM: number, employee internal id
   ZAM: { ID: number, Jmeno: string, Prijmeni: string, OsCislo: string, Email: string }
}[]
Error Codes
400Bad Request
Your request doesn't meet the required input format
401Not Authorized
Your request doesn't meet authorization requirements
404Not Found
The entity you're looking for is missing
460Request Error
Requested operation wasn't performed, or XML import failed
500Internal Error
We encountered an internal server error
503Not Available
Requested entity is offline and cannot be reached, try again later
List absences in a date range for optional employees.
URL
/v1/personal/absence/:uid
uid - accounting unit identifier
Request
GET
from (YYYY-MM-DD), to (YYYY-MM-DD), employee_ids (comma list, optional)
Response
200text/json

{
   ID: number, absence id
   RefAg: number, employment id (pomer_id)
   DatZac: string, start date YYYY-MM-DD
   DatKon: string, end date YYYY-MM-DD
   DnyPrac: number, working days
   DnyKal: number, calendar days
   Dnu: number, business days
   RelDrDov: number, absence type code
   ZacPrac?: number|null, start time value
   RelZacJ?: number, start time unit
   KonPrac?: number|null, end time value
   RelKonJ?: number, end time unit
   locked: boolean
}[]
Error Codes
400Bad Request
Your request doesn't meet the required input format
401Not Authorized
Your request doesn't meet authorization requirements
404Not Found
The entity you're looking for is missing
460Request Error
Requested operation wasn't performed, or XML import failed
500Internal Error
We encountered an internal server error
503Not Available
Requested entity is offline and cannot be reached, try again later
Remove absences by IDs and return removed rows.
URL
/v1/personal/absence/remove/:uid
uid - accounting unit identifier
Request
POSTtext/json
{ ids: number[] }
Response
200text/json

{
   ID: number, removed absence id
   RefAg: number, employment id (pomer_id)
   DatZac: string, start date YYYY-MM-DD
   DatKon: string, end date YYYY-MM-DD
   DnyPrac: number, working days
   DnyKal: number, calendar days
   Dnu: number, business days
   RelDrDov: number, absence type code
   ZacPrac?: number|null, start time value
   RelZacJ?: number, start time unit
   KonPrac?: number|null, end time value
   RelKonJ?: number, end time unit
   locked: boolean
}[]
Error Codes
400Bad Request
Your request doesn't meet the required input format
401Not Authorized
Your request doesn't meet authorization requirements
404Not Found
The entity you're looking for is missing
460Request Error
Requested operation wasn't performed, or XML import failed
500Internal Error
We encountered an internal server error
503Not Available
Requested entity is offline and cannot be reached, try again later
Get employee by ID.
URL
/v1/personal/employee/:uid/:id
uid - accounting unit identifier
employee_id - employee ID
Request
GET
Response
200text/json

{
   ID?: number
   OsCislo: string, personal number
   Jmeno: string, first name
   Prijmeni: string, last name
   Email?: string
   Tel?: string
   Ucet?: string, bank account
   RelStav?: number, marital status
   Titul?: string
   TitulZa?: string
   Ulice?: string, street
   Obec?: string, city
   PSC?: string, ZIP
   Stat?: string, country
   RodCisl?: string, birth number
   DatNar?: string, birth date YYYY-MM-DD
}
Error Codes
400Bad Request
Your request doesn't meet the required input format
401Not Authorized
Your request doesn't meet authorization requirements
404Not Found
The entity you're looking for is missing
460Request Error
Requested operation wasn't performed, or XML import failed
500Internal Error
We encountered an internal server error
503Not Available
Requested entity is offline and cannot be reached, try again later
Get employee by employment relationship ID.
URL
/v1/personal/employment/person/:uid/:pomer_id
uid - accounting unit identifier
pomer_id - employment relationship ID
Request
GET
Response
200text/json

{
   Jmeno: string
   Prijmeni: string
   Email?: string
   Tel?: string
   Ucet?: string, bank account
   NazevPomer?: string, employment name
   NazevPracMist?: string, position name
}
Error Codes
400Bad Request
Your request doesn't meet the required input format
401Not Authorized
Your request doesn't meet authorization requirements
404Not Found
The entity you're looking for is missing
460Request Error
Requested operation wasn't performed, or XML import failed
500Internal Error
We encountered an internal server error
503Not Available
Requested entity is offline and cannot be reached, try again later
Get employee info with employments.
URL
/v1/personal/info/:uid/:employee_id
uid - accounting unit identifier
employee_id - employee ID
Request
GET
Response
200text/json

{
   employee: TEmployeeMix
   company: { Soubor: string, Firma: string, ICO: string, Rok: number }
   pomery: TEmployeePomer[]
}
Error Codes
400Bad Request
Your request doesn't meet the required input format
401Not Authorized
Your request doesn't meet authorization requirements
404Not Found
The entity you're looking for is missing
460Request Error
Requested operation wasn't performed, or XML import failed
500Internal Error
We encountered an internal server error
503Not Available
Requested entity is offline and cannot be reached, try again later
Get employee by email.
URL
/v1/personal/employee/by-email/:uid/:email
uid - accounting unit identifier
email - URL-encoded
Request
GET
Response
200text/json

{
   ID?: number
   OsCislo: string, personal number
   Jmeno: string, first name
   Prijmeni: string, last name
   Email?: string
   Tel?: string
   Ucet?: string, bank account
   RelStav?: number, marital status
   Titul?: string
   TitulZa?: string
   Ulice?: string, street
   Obec?: string, city
   PSC?: string, ZIP
   Stat?: string, country
   RodCisl?: string, birth number
   DatNar?: string, birth date YYYY-MM-DD
}

// returns {} when not found
Error Codes
400Bad Request
Your request doesn't meet the required input format
401Not Authorized
Your request doesn't meet authorization requirements
404Not Found
The entity you're looking for is missing
460Request Error
Requested operation wasn't performed, or XML import failed
500Internal Error
We encountered an internal server error
503Not Available
Requested entity is offline and cannot be reached, try again later
Update employee password and optionally email.
URL
/v1/personal/password_update/:uid
uid - accounting unit identifier
Request
POSTtext/json
{ id: number, pwd: string, email: string }
Response
200text/plain
OK
Error Codes
400Bad Request
Your request doesn't meet the required input format
401Not Authorized
Your request doesn't meet authorization requirements
404Not Found
The entity you're looking for is missing
460Request Error
Requested operation wasn't performed, or XML import failed
500Internal Error
We encountered an internal server error
503Not Available
Requested entity is offline and cannot be reached, try again later
Update employee contact fields (password, email, phone).
URL
/v1/personal/contact_update/:uid
uid - accounting unit identifier
Request
POSTtext/json
{ id: number, pwd?: string, email?: string, number?: string }
Response
200text/plain
OK
Error Codes
400Bad Request
Your request doesn't meet the required input format
401Not Authorized
Your request doesn't meet authorization requirements
404Not Found
The entity you're looking for is missing
460Request Error
Requested operation wasn't performed, or XML import failed
500Internal Error
We encountered an internal server error
503Not Available
Requested entity is offline and cannot be reached, try again later
Get employee profile with children and additional info.
URL
/v1/personal/profile/:uid/:employee_id
uid - accounting unit identifier
employee_id - employee ID
Request
GET
Response
200text/json

{
   basic: {
      ID: number
      OsCislo?: string, personal number
      Jmeno: string, first name
      Prijmeni: string, last name
      Titul?: string
      TitulZa?: string
      Email?: string
      Tel?: string
      Ucet?: string, bank account
      RelStav?: number|string, marital status
      RodCisl?: string, birth number
      DatNar?: string, birth date YYYY-MM-DD
      Ulice?: string, street
      CP?: string, street no.
      Obec?: string, city
      PSC?: string, ZIP
      Stat?: string, country
      KonUlice?: string, contact street
      KonCP?: string, contact street no.
      KonObec?: string, contact city
      KonPSC?: string, contact ZIP
      KonStat?: string, contact country
   }
   children: [
      {
         RefAg: number, // employment id
         DatOd: string, // YYYY-MM-DD
         DatDo: string|null, // YYYY-MM-DD or null
         SText: string, // child name
         RodCisl: string // child birth number
      }
   ]
   aditional: {
      RefAg: number,
      DatOd: string|null,
      DatDo: string|null,
      SText?: string,
      RodCisl?: string,
      KcOdec?: number
   } | null
   files: any[]
}
Error Codes
400Bad Request
Your request doesn't meet the required input format
401Not Authorized
Your request doesn't meet authorization requirements
404Not Found
The entity you're looking for is missing
460Request Error
Requested operation wasn't performed, or XML import failed
500Internal Error
We encountered an internal server error
503Not Available
Requested entity is offline and cannot be reached, try again later
Get a salary with items and deductions.
URL
/v1/personal/salary/:uid/:salary_id
uid - accounting unit identifier
salary_id - salary ID
Request
GET
Response
200text/json

{
   salary: TEmployeeSalary
   slozky: TEmployeeSlozky[]
   srazky: TEmployeeSrazky[]
   employee: TEmployeeDetail & { ID: number }
}
Error Codes
400Bad Request
Your request doesn't meet the required input format
401Not Authorized
Your request doesn't meet authorization requirements
404Not Found
The entity you're looking for is missing
460Request Error
Requested operation wasn't performed, or XML import failed
500Internal Error
We encountered an internal server error
503Not Available
Requested entity is offline and cannot be reached, try again later
List benefit item types.
URL
/v1/personal/benefit/types/:uid
uid - accounting unit identifier
Request
GET
Response
200text/json

{
   id: number, item type id
   name: string, name/label
   Proc?: number, percentage
   Sazba?: number, rate
   RelDruhSlozky?: number, category code
   SText?: string, description
}[]
Error Codes
400Bad Request
Your request doesn't meet the required input format
401Not Authorized
Your request doesn't meet authorization requirements
404Not Found
The entity you're looking for is missing
460Request Error
Requested operation wasn't performed, or XML import failed
500Internal Error
We encountered an internal server error
503Not Available
Requested entity is offline and cannot be reached, try again later
List benefits for optional employees.
URL
/v1/personal/benefits/:uid
uid - accounting unit identifier
Request
GET
POSTtext/json
{ employee_ids?: number[] }
Response
200text/json

{
   ID?: number
   RefAg: number, employment id
   SText?: string, description
   DatOd?: string, valid from YYYY-MM-DD
   DatDo?: string, valid to YYYY-MM-DD
   RefSlozky?: number, benefit type id
   RelDruhSlozky?: number, category code
   Hod?: number, hours
   Proc?: number, percentage
   Sazba?: number, rate
   Kc?: number, amount
   Ucet?: string, bank account
   KodBanky?: string
   VarSym?: string
   SpecSym?: string
   KonstSym?: string
}[]
Error Codes
400Bad Request
Your request doesn't meet the required input format
401Not Authorized
Your request doesn't meet authorization requirements
404Not Found
The entity you're looking for is missing
460Request Error
Requested operation wasn't performed, or XML import failed
500Internal Error
We encountered an internal server error
503Not Available
Requested entity is offline and cannot be reached, try again later
Remove a benefit item by ID.
URL
/v1/personal/benefit/:uid/:id
uid - accounting unit identifier
id - benefit ID
Request
POST
Response
200text/json

{
   ID: number, removed benefit id
   RefAg: number, employment id
   DatOd?: string, valid from YYYY-MM-DD
   DatDo?: string, valid to YYYY-MM-DD
   SText?: string, description
   RefSlozky?: number, benefit type id
   RelDruhSlozky?: number, category code
   Hod?: number, hours
   Proc?: number, percentage
   Sazba?: number, rate
   Kc?: number, amount
   Ucet?: string, bank account
   KodBanky?: string
   VarSym?: string
   SpecSym?: string
   KonstSym?: string
}

// returns {} when not found
Error Codes
400Bad Request
Your request doesn't meet the required input format
401Not Authorized
Your request doesn't meet authorization requirements
404Not Found
The entity you're looking for is missing
460Request Error
Requested operation wasn't performed, or XML import failed
500Internal Error
We encountered an internal server error
503Not Available
Requested entity is offline and cannot be reached, try again later
Update a benefit item.
URL
/v1/personal/benefit/:uid/:id/update
uid - accounting unit identifier
id - benefit ID
Request
POSTtext/json
{
  DatOd?: string,       // YYYY-MM-DD
  DatDo?: string,       // YYYY-MM-DD
  RefAg?: number,       // employment id
  RefSlozky?: number,   // benefit type id (sMZslozky.ID)
  RelDruhSlozky?: number, // category code
  Hod?: number,
  Kc?: number,
  Proc?: number,
  Sazba?: number,
  SText?: string,
  Ucet?: string,
  KodBanky?: string,
  VarSym?: string,
  SpecSym?: string,
  KonstSym?: string
}
Response
200text/plain
OK
Error Codes
400Bad Request
Your request doesn't meet the required input format
401Not Authorized
Your request doesn't meet authorization requirements
404Not Found
The entity you're looking for is missing
460Request Error
Requested operation wasn't performed, or XML import failed
500Internal Error
We encountered an internal server error
503Not Available
Requested entity is offline and cannot be reached, try again later
Add a benefit item.
URL
/v1/personal/benefit/add/:uid
uid - accounting unit identifier
Request
POSTtext/json
{
  RefAg: number,        // required employment id
  RefSlozky: number,    // required benefit type id (sMZslozky.ID)
  DatOd: string,        // YYYY-MM-DD
  DatDo: string,        // YYYY-MM-DD
  Hod?: number,
  Kc?: number,
  Proc?: number,
  Sazba?: number,
  SText?: string,
  RelDruhSlozky?: number,
  Ucet?: string,
  KodBanky?: string,
  VarSym?: string,
  SpecSym?: string,
  KonstSym?: string
}
Response
200text/plain
OK
Error Codes
400Bad Request
Your request doesn't meet the required input format
401Not Authorized
Your request doesn't meet authorization requirements
404Not Found
The entity you're looking for is missing
460Request Error
Requested operation wasn't performed, or XML import failed
500Internal Error
We encountered an internal server error
503Not Available
Requested entity is offline and cannot be reached, try again later
List deductions for optional employees.
URL
/v1/personal/deductions/:uid
uid - accounting unit identifier
Request
GET
POSTtext/json
{ employee_ids?: number[] }
Response
200text/json

{
   ID?: number
   RefAg: number, employment id
   SText: string, description
   DatOd: string, valid from YYYY-MM-DD
   DatDo: string, valid to YYYY-MM-DD
   Cela?: number
   Kc?: number, amount
   Rozhod?: string
   RelDrSra?: number, deduction type
   RelPk?: number
   Ucet?: string, bank account
   KodBanky?: string
   SpecSym?: string
   KonstSym?: string
   VarSym?: string
   RelFond?: number, fund type
   RelZivPj?: number, life insurance
}[]
Error Codes
400Bad Request
Your request doesn't meet the required input format
401Not Authorized
Your request doesn't meet authorization requirements
404Not Found
The entity you're looking for is missing
460Request Error
Requested operation wasn't performed, or XML import failed
500Internal Error
We encountered an internal server error
503Not Available
Requested entity is offline and cannot be reached, try again later
List previous month deduction summary.
URL
/v1/personal/deductions/previous_month/:uid
uid - accounting unit identifier
Request
GET
Response
200text/json

{
   'employee number': string
   'Name': string
   'Cost center': string|null
   'Basic Wage': number
   'Gross wage - used holiday': number
   'Doctor visit - Gross wage': number
   'Travel contribution': number
   'Overtimes during week': number
   'Overtimes during bank holiday': number
   'Overtimes during weekends': number
   'Night work compensation': number
   'Tax base Employee': number
   'Medical insurance - Employee': number
   'Old age insurance - Employee': number
   'Health insurance - Employee': number
   'Deduction - injunction': number
   'Deduction Others': number
   'Health Insurance - Employer': number
   'Unemployment insurance - Employer': number
   'Guarantee fund - Employer': number
   'Annual tax calculation': number
   'Supplement pension saving': number
   ... more summary columns ...
}[]
Error Codes
400Bad Request
Your request doesn't meet the required input format
401Not Authorized
Your request doesn't meet authorization requirements
404Not Found
The entity you're looking for is missing
460Request Error
Requested operation wasn't performed, or XML import failed
500Internal Error
We encountered an internal server error
503Not Available
Requested entity is offline and cannot be reached, try again later
List payslips with server-side filtering and pagination.
URL
/v1/personal/payslips/:uid
uid - accounting unit identifier
Request
GET
POSTtext/json
{
  from?: number,   // default 0
  size?: number,   // default 30
  fields?: DField[] // optional filters and sort
                   // default sort: { name: 'FilterDatum', sort: 'desc' }
}
Response
200text/json
{
  total: number,
  filtered: number,
  fields: DField[],
  data: any[],
  summary: { [key: string]: number },
  query: DQuery
}

DField = {
  name: string,
  text?: string,
  sort?: 'asc'|'desc'|'',
  // simple values (one of these may be present)
  string?: string|null,
  number?: number|null,
  numbers?: number[],
  date?: string|null,          // ISO YYYY-MM-DD
  checkbox?: boolean|null,
  select?: { // select-like inputs
    type: 'number'|'date'|'string',
    value?: any|null,
    options: { value: any, text: string }[]
  },
  checkbuttons?: { // select-like inputs
    type: 'number'|'string',
    value?: any|null,
    options: { value: any, text: string }[]
  },
  checkboxes?: { // select-like inputs
    type: 'number'|'date'|'string'|'number[]'|'string[]',
    values?: any[],
    options: { value: any, text: string }[],
    classInput?: string
  },
  range?: { // ranges and validity
    type: 'number'|'date',
    nullable?: boolean,
    from?: number|string|Date|null,
    to?: number|string|Date|null
  },
  valid_until?: {
    type: 'date',
    nullable?: boolean,
    value?: string|Date|null
  }
}

DQuery = {
  from: number,
  size: number,
  init?: number,
  fields: DField[]
}
Error Codes
400Bad Request
Your request doesn't meet the required input format
401Not Authorized
Your request doesn't meet authorization requirements
404Not Found
The entity you're looking for is missing
460Request Error
Requested operation wasn't performed, or XML import failed
500Internal Error
We encountered an internal server error
503Not Available
Requested entity is offline and cannot be reached, try again later
List employment status in a date range.
URL
/v1/personal/employees_status/:uid
uid - accounting unit identifier
Request
GET
from (YYYY-MM-DD), to (YYYY-MM-DD), employee_ids (comma list, optional)
Response
200text/json

[

   {
      // employment rows
      ID: number, employment id
      Cislo?: string, employment number
      DatNast?: string, start date YYYY-MM-DD
      DatOdch?: string, end date YYYY-MM-DD|null
      JeAktiv?: boolean
      RefZAM: number, employee id
      Jmeno: string
      Prijmeni: string
      ZdrPostih?: boolean
      ZdrPostihT?: boolean
   },

   {
      // demographic rows
      Jmeno: string
      Prijmeni: string
      RelPohl?: number, gender code
      ZdrPostih?: boolean
      ZdrPostihT?: boolean
   }

]
Error Codes
400Bad Request
Your request doesn't meet the required input format
401Not Authorized
Your request doesn't meet authorization requirements
404Not Found
The entity you're looking for is missing
460Request Error
Requested operation wasn't performed, or XML import failed
500Internal Error
We encountered an internal server error
503Not Available
Requested entity is offline and cannot be reached, try again later
List employees with basic contact for access control.
URL
/v1/personal/access_list/:uid
uid - accounting unit identifier
Request
GET
dateTo (YYYY-MM-DD, optional)
Response
200text/json
{ user_id, company_id, party_id, company_name, name, email, phone, type, search, leave_date }[]
Error Codes
400Bad Request
Your request doesn't meet the required input format
401Not Authorized
Your request doesn't meet authorization requirements
404Not Found
The entity you're looking for is missing
460Request Error
Requested operation wasn't performed, or XML import failed
500Internal Error
We encountered an internal server error
503Not Available
Requested entity is offline and cannot be reached, try again later
Create a new employee (recruit).
URL
/v1/personal/recruit/:uid
uid - accounting unit identifier
Request
POSTtext/json
{
  // Required basics
  created_at: string,     // ISO datetime
  updated_at: string,     // ISO datetime
  company_ico: string,
  party_id: string,
  pracovny_stav: number,
  titul_pred: string,     // max 14
  meno: string,
  priezvisko: string,
  titul_za: string,       // max 14
  email: string,
  id_pracovna_pozicia: string,
  pracovna_pozicia: string,
  klasifikacia: string,   // max 7 (SK ISCO)
  popis_prace: string,
  note?: string,

  // Employment details (optional)
  druh_pracovneho_pomeru?: number,
  zaciatok_pracovneho_pomeru?: string, // ISO date
  miesto_prace?: string,
  miesto_prace_kod?: string,           // max 6 (LAU/LSUJ)
  stredisko?: string,
  hruba_mzda?: number,
  hruba_mzda_slovom?: string,
  reldruhm?: number,
  pracovny_fond?: number,
  pracovny_fond_den?: number,
  praca_na_dobu_urcitu?: string,       // ISO date
  date_sent?: string,                  // ISO date
  pohlavie?: number,

  // Personal data
  datum_narodenia?: string, // ISO date
  rodne_priezvisko: string,
  rodne_cislo: string,      // d{6}/d{3,4}
  miesto_narodenia: string,
  narodnost: string,
  statna_prislusnost: string,
  cislo_op: string,
  rodinny_stav?: number,

  // Foreign national
  cudzinec: boolean,
  krajina_narodenia: string, // 2-letter
  cudzinec_op?: string,
  cudzinec_adresa?: string,
  cudzinec_doklad?: string,
  cudzinec_poistovna?: string,
  cudzinec_cssz?: string,

  // Address
  adresa_ulica: string,
  adresa_cislo: string,
  adresa_psc: string,
  adresa_mesto: string,
  adresa_stat: string,          // 2-letter
  kontakt_adresa_ulica: string,
  kontakt_adresa_cislo: string,
  kontakt_adresa_psc: string,
  kontakt_adresa_mesto: string,
  kontakt_adresa_stat: string,  // 2-letter
  kontakt_telefon?: string,

  // Payments
  iban: string,
  swift_bic: string,
  var_sym?: string,
  zdravotna_poistovna?: number,

  // Benefits/flags
  ztp: boolean,
  starobny_dochodok: boolean,
  invalidny_dochodok: boolean,
  vysluhovy_dochodok: boolean,
  dochodca: boolean,
  invalidita: string,
  trvala_starostlivost_dieta: boolean,
  nezdanitelna_cast: boolean,
  dan_bonus: boolean,

  // Children
  deti: { meno: string, rodne_cislo: string }[],

  // Attachments
  files: ({ name: string, type: string, size: number, content: string }|
          { id: number, name: string, type: string, size: number, content?: string })[],

  // Consent + token
  gdpr: boolean,
  token?: string
}
Response
200text/plain
OK
Error Codes
400Bad Request
Your request doesn't meet the required input format
401Not Authorized
Your request doesn't meet authorization requirements
404Not Found
The entity you're looking for is missing
460Request Error
Requested operation wasn't performed, or XML import failed
500Internal Error
We encountered an internal server error
503Not Available
Requested entity is offline and cannot be reached, try again later
List health insurance companies for a unit.
URL
/v1/personal/health_insurance/:uid
uid - accounting unit identifier
Request
GET
Response
200text/json

{
   ID: number, internal id
   IDS: string, code
   Ucet: string, bank account
   KodBanky: string, bank code
   VarSym: string, variable symbol
   KonstSym: string, constant symbol
}[]
Error Codes
400Bad Request
Your request doesn't meet the required input format
401Not Authorized
Your request doesn't meet authorization requirements
404Not Found
The entity you're looking for is missing
460Request Error
Requested operation wasn't performed, or XML import failed
500Internal Error
We encountered an internal server error
503Not Available
Requested entity is offline and cannot be reached, try again later
List pension funds for a unit.
URL
/v1/personal/pension_funds/:uid
uid - accounting unit identifier
Request
GET
Response
200text/json

{
   id: number, internal id
   name: string, company name
   Ucet: string, bank account
   KodBanky: string, bank code
   VarSym?: string, variable symbol
   SpecSym?: string, specific symbol
   KonstSym?: string, constant symbol
}[]
Error Codes
400Bad Request
Your request doesn't meet the required input format
401Not Authorized
Your request doesn't meet authorization requirements
404Not Found
The entity you're looking for is missing
460Request Error
Requested operation wasn't performed, or XML import failed
500Internal Error
We encountered an internal server error
503Not Available
Requested entity is offline and cannot be reached, try again later
List life insurers for a unit.
URL
/v1/personal/insurers/:uid
uid - accounting unit identifier
Request
GET
Response
200text/json

{
   id: number, internal id
   name: string, company name
   Ucet: string, bank account
   KodBanky: string, bank code
   VarSym: string, variable symbol
   SpecSym: string, specific symbol
   KonstSym: string, constant symbol
}[]
Error Codes
400Bad Request
Your request doesn't meet the required input format
401Not Authorized
Your request doesn't meet authorization requirements
404Not Found
The entity you're looking for is missing
460Request Error
Requested operation wasn't performed, or XML import failed
500Internal Error
We encountered an internal server error
503Not Available
Requested entity is offline and cannot be reached, try again later
/v1/property/
List investment assets with server-side filtering and pagination.
URL
/v1/property/assets/:uid
:uid - accounting unit identifier
Request
GET
POSTtext/json
{
  from?: number,  // default 0
  size?: number,  // default 30
  ids?: number[], // optional restrict to IDs
  asc?: string,   // optional sort asc
  desc?: string,  // optional sort desc
  on?: string[]   // optional filters: tokens "Field;search;from;to"
}
Response
200text/json
{
  total: number,
  filtered: number,
  fields: DField[],
  data: any[],
  summary: { [key: string]: number },
  query: DQuery
}

DField = {
  name: string,
  text?: string,
  sort?: 'asc'|'desc'|'',
  // simple values (one of these may be present)
  string?: string|null,
  number?: number|null,
  numbers?: number[],
  date?: string|null,          // ISO YYYY-MM-DD
  checkbox?: boolean|null,
  select?: { // select-like inputs
    type: 'number'|'date'|'string',
    value?: any|null,
    options: { value: any, text: string }[]
  },
  checkbuttons?: { // select-like inputs
    type: 'number'|'string',
    value?: any|null,
    options: { value: any, text: string }[]
  },
  checkboxes?: { // select-like inputs
    type: 'number'|'date'|'string'|'number[]'|'string[]',
    values?: any[],
    options: { value: any, text: string }[],
    classInput?: string
  },
  range?: { // ranges and validity
    type: 'number'|'date',
    nullable?: boolean,
    from?: number|string|Date|null,
    to?: number|string|Date|null
  },
  valid_until?: {
    type: 'date',
    nullable?: boolean,
    value?: string|Date|null
  }
}

DQuery = {
  from: number,
  size: number,
  init?: number,
  fields: DField[]
}
Error Codes
400Bad Request
Your request doesn't meet the required input format
401Not Authorized
Your request doesn't meet authorization requirements
404Not Found
The entity you're looking for is missing
460Request Error
Requested operation wasn't performed, or XML import failed
500Internal Error
We encountered an internal server error
503Not Available
Requested entity is offline and cannot be reached, try again later
List small assets with server-side filtering and pagination.
URL
/v1/property/small_assets/:uid
:uid - accounting unit identifier
Request
GET
POSTtext/json
{
  from?: number,  // default 0
  size?: number,  // default 30
  ids?: number[], // optional restrict to IDs
  asc?: string,   // optional sort asc
  desc?: string,  // optional sort desc
  on?: string[]   // optional filters: tokens "Field;search;from;to"
}
Response
200text/json
{
  total: number,
  filtered: number,
  fields: DField[],
  data: any[],
  summary: { [key: string]: number },
  query: DQuery
}

DField = {
  name: string,
  text?: string,
  sort?: 'asc'|'desc'|'',
  // simple values (one of these may be present)
  string?: string|null,
  number?: number|null,
  numbers?: number[],
  date?: string|null,          // ISO YYYY-MM-DD
  checkbox?: boolean|null,
  select?: { // select-like inputs
    type: 'number'|'date'|'string',
    value?: any|null,
    options: { value: any, text: string }[]
  },
  checkbuttons?: { // select-like inputs
    type: 'number'|'string',
    value?: any|null,
    options: { value: any, text: string }[]
  },
  checkboxes?: { // select-like inputs
    type: 'number'|'date'|'string'|'number[]'|'string[]',
    values?: any[],
    options: { value: any, text: string }[],
    classInput?: string
  },
  range?: { // ranges and validity
    type: 'number'|'date',
    nullable?: boolean,
    from?: number|string|Date|null,
    to?: number|string|Date|null
  },
  valid_until?: {
    type: 'date',
    nullable?: boolean,
    value?: string|Date|null
  }
}

DQuery = {
  from: number,
  size: number,
  init?: number,
  fields: DField[]
}
Error Codes
400Bad Request
Your request doesn't meet the required input format
401Not Authorized
Your request doesn't meet authorization requirements
404Not Found
The entity you're looking for is missing
460Request Error
Requested operation wasn't performed, or XML import failed
500Internal Error
We encountered an internal server error
503Not Available
Requested entity is offline and cannot be reached, try again later
List asset depreciations with server-side filtering and pagination.
URL
/v1/property/depreciations/:uid
:uid - accounting unit identifier
Request
GET
POSTtext/json
{
  from?: number,  // default 0
  size?: number,  // default 30
  ids?: number[], // optional restrict to IDs
  asc?: string,   // optional sort asc
  desc?: string,  // optional sort desc
  on?: string[]   // optional filters: tokens "Field;search;from;to"
}
Response
200text/json
{
  total: number,
  filtered: number,
  fields: DField[],
  data: any[],
  summary: { [key: string]: number },
  query: DQuery
}

DField = {
  name: string,
  text?: string,
  sort?: 'asc'|'desc'|'',
  // simple values (one of these may be present)
  string?: string|null,
  number?: number|null,
  numbers?: number[],
  date?: string|null,          // ISO YYYY-MM-DD
  checkbox?: boolean|null,
  select?: { // select-like inputs
    type: 'number'|'date'|'string',
    value?: any|null,
    options: { value: any, text: string }[]
  },
  checkbuttons?: { // select-like inputs
    type: 'number'|'string',
    value?: any|null,
    options: { value: any, text: string }[]
  },
  checkboxes?: { // select-like inputs
    type: 'number'|'date'|'string'|'number[]'|'string[]',
    values?: any[],
    options: { value: any, text: string }[],
    classInput?: string
  },
  range?: { // ranges and validity
    type: 'number'|'date',
    nullable?: boolean,
    from?: number|string|Date|null,
    to?: number|string|Date|null
  },
  valid_until?: {
    type: 'date',
    nullable?: boolean,
    value?: string|Date|null
  }
}

DQuery = {
  from: number,
  size: number,
  init?: number,
  fields: DField[]
}
Error Codes
400Bad Request
Your request doesn't meet the required input format
401Not Authorized
Your request doesn't meet authorization requirements
404Not Found
The entity you're looking for is missing
460Request Error
Requested operation wasn't performed, or XML import failed
500Internal Error
We encountered an internal server error
503Not Available
Requested entity is offline and cannot be reached, try again later
List tax depreciations for an asset.
URL
/v1/property/tax_depreciation/:uid/:id
:uid - accounting unit identifier
:id - asset ID
Request
GET
Response
200text/json

{
   ID: number
   RefAg: number, asset id
   Rok: string, year
   RelTpOdp: number, depreciation method
   RelSkOdp: number, depreciation group
   KcVstup: number|null, entry value
   Procento: number, percent
   KcOdpis: number, depreciation
   KcKorekce: number, correction
   Zcelku: number
   KcOdpisCalc: number, calculated depreciation
   KcZust: number, remaining
}[]
Error Codes
400Bad Request
Your request doesn't meet the required input format
401Not Authorized
Your request doesn't meet authorization requirements
404Not Found
The entity you're looking for is missing
460Request Error
Requested operation wasn't performed, or XML import failed
500Internal Error
We encountered an internal server error
503Not Available
Requested entity is offline and cannot be reached, try again later
List book depreciations for an asset.
URL
/v1/property/book_depreciation/:uid/:id
:uid - accounting unit identifier
:id - asset ID
Request
GET
Response
200text/json

{
   ID: number
   Mesic: string, ISO date (month)
   RefIMO: number, book category id
   Zivotnost: number, lifetime
   KcVstup: number, entry value
   Procento: number, percent
   KcOdpis: number|null, depreciation
   KcKorekce: number, correction
   KcOdpisCalc: number, calculated depreciation
   KcZustatek: number, remaining
   IDS: string, book category code
}[]
Error Codes
400Bad Request
Your request doesn't meet the required input format
401Not Authorized
Your request doesn't meet authorization requirements
404Not Found
The entity you're looking for is missing
460Request Error
Requested operation wasn't performed, or XML import failed
500Internal Error
We encountered an internal server error
503Not Available
Requested entity is offline and cannot be reached, try again later
List motor vehicles with server-side filtering and pagination.
URL
/v1/property/vehicles/:uid
:uid - accounting unit identifier
Request
GET
POSTtext/json
{
  from?: number,  // default 0
  size?: number,  // default 30
  ids?: number[], // optional restrict to IDs
  asc?: string,   // optional sort asc
  desc?: string,  // optional sort desc
  on?: string[]   // optional filters: tokens "Field;search;from;to"
}
Response
200text/json
{
  total: number,
  filtered: number,
  fields: DField[],
  data: any[],
  summary: { [key: string]: number },
  query: DQuery
}

DField = {
  name: string,
  text?: string,
  sort?: 'asc'|'desc'|'',
  // simple values (one of these may be present)
  string?: string|null,
  number?: number|null,
  numbers?: number[],
  date?: string|null,          // ISO YYYY-MM-DD
  checkbox?: boolean|null,
  select?: { // select-like inputs
    type: 'number'|'date'|'string',
    value?: any|null,
    options: { value: any, text: string }[]
  },
  checkbuttons?: { // select-like inputs
    type: 'number'|'string',
    value?: any|null,
    options: { value: any, text: string }[]
  },
  checkboxes?: { // select-like inputs
    type: 'number'|'date'|'string'|'number[]'|'string[]',
    values?: any[],
    options: { value: any, text: string }[],
    classInput?: string
  },
  range?: { // ranges and validity
    type: 'number'|'date',
    nullable?: boolean,
    from?: number|string|Date|null,
    to?: number|string|Date|null
  },
  valid_until?: {
    type: 'date',
    nullable?: boolean,
    value?: string|Date|null
  }
}

DQuery = {
  from: number,
  size: number,
  init?: number,
  fields: DField[]
}
Error Codes
400Bad Request
Your request doesn't meet the required input format
401Not Authorized
Your request doesn't meet authorization requirements
404Not Found
The entity you're looking for is missing
460Request Error
Requested operation wasn't performed, or XML import failed
500Internal Error
We encountered an internal server error
503Not Available
Requested entity is offline and cannot be reached, try again later
/v1/orders/
List orders with server-side filtering and pagination.
URL
/v1/orders/list/:uid
:uid - accounting unit identifier
Request
GET
POSTtext/json
{
  from?: number,  // default 0
  size?: number,  // default 30
  ids?: number[], // optional restrict to IDs
  asc?: string,   // optional sort asc
  desc?: string,  // optional sort desc
  on?: string[]   // optional filters: tokens "Field;search;from;to"
}
Response
200text/json
{
  total: number,
  filtered: number,
  fields: DField[],
  data: any[],
  summary: { [key: string]: number },
  query: DQuery
}

DField = {
  name: string,
  text?: string,
  sort?: 'asc'|'desc'|'',
  // simple values (one of these may be present)
  string?: string|null,
  number?: number|null,
  numbers?: number[],
  date?: string|null,          // ISO YYYY-MM-DD
  checkbox?: boolean|null,
  select?: { // select-like inputs
    type: 'number'|'date'|'string',
    value?: any|null,
    options: { value: any, text: string }[]
  },
  checkbuttons?: { // select-like inputs
    type: 'number'|'string',
    value?: any|null,
    options: { value: any, text: string }[]
  },
  checkboxes?: { // select-like inputs
    type: 'number'|'date'|'string'|'number[]'|'string[]',
    values?: any[],
    options: { value: any, text: string }[],
    classInput?: string
  },
  range?: { // ranges and validity
    type: 'number'|'date',
    nullable?: boolean,
    from?: number|string|Date|null,
    to?: number|string|Date|null
  },
  valid_until?: {
    type: 'date',
    nullable?: boolean,
    value?: string|Date|null
  }
}

DQuery = {
  from: number,
  size: number,
  init?: number,
  fields: DField[]
}
Error Codes
400Bad Request
Your request doesn't meet the required input format
401Not Authorized
Your request doesn't meet authorization requirements
404Not Found
The entity you're looking for is missing
460Request Error
Requested operation wasn't performed, or XML import failed
500Internal Error
We encountered an internal server error
503Not Available
Requested entity is offline and cannot be reached, try again later
List commissions with server-side filtering and pagination.
URL
/v1/commissions/list/:uid
:uid - accounting unit identifier
Request
GET
POSTtext/json
{
  from?: number,  // default 0
  size?: number,  // default 30
  ids?: number[], // optional restrict to IDs
  asc?: string,   // optional sort asc
  desc?: string,  // optional sort desc
  on?: string[]   // optional filters: tokens "Field;search;from;to"
}
Response
200text/json
{
  total: number,
  filtered: number,
  fields: DField[],
  data: any[],
  summary: { [key: string]: number },
  query: DQuery
}

DField = {
  name: string,
  text?: string,
  sort?: 'asc'|'desc'|'',
  // simple values (one of these may be present)
  string?: string|null,
  number?: number|null,
  numbers?: number[],
  date?: string|null,          // ISO YYYY-MM-DD
  checkbox?: boolean|null,
  select?: { // select-like inputs
    type: 'number'|'date'|'string',
    value?: any|null,
    options: { value: any, text: string }[]
  },
  checkbuttons?: { // select-like inputs
    type: 'number'|'string',
    value?: any|null,
    options: { value: any, text: string }[]
  },
  checkboxes?: { // select-like inputs
    type: 'number'|'date'|'string'|'number[]'|'string[]',
    values?: any[],
    options: { value: any, text: string }[],
    classInput?: string
  },
  range?: { // ranges and validity
    type: 'number'|'date',
    nullable?: boolean,
    from?: number|string|Date|null,
    to?: number|string|Date|null
  },
  valid_until?: {
    type: 'date',
    nullable?: boolean,
    value?: string|Date|null
  }
}

DQuery = {
  from: number,
  size: number,
  init?: number,
  fields: DField[]
}
Error Codes
400Bad Request
Your request doesn't meet the required input format
401Not Authorized
Your request doesn't meet authorization requirements
404Not Found
The entity you're looking for is missing
460Request Error
Requested operation wasn't performed, or XML import failed
500Internal Error
We encountered an internal server error
503Not Available
Requested entity is offline and cannot be reached, try again later
/v1/contracts/
List contracts with server-side filtering and pagination.
URL
/v1/contracts/list/:uid
:uid - accounting unit identifier
Request
GET
POSTtext/json
{
  from?: number,  // default 0
  size?: number,  // default 30
  ids?: number[], // optional restrict to IDs
  asc?: string,   // optional sort asc
  desc?: string,  // optional sort desc
  on?: string[]   // optional filters: tokens "Field;search;from;to"
}
Response
200text/json
{
  total: number,
  filtered: number,
  fields: DField[],
  data: any[],
  summary: { [key: string]: number },
  query: DQuery
}

DField = {
  name: string,
  text?: string,
  sort?: 'asc'|'desc'|'',
  // simple values (one of these may be present)
  string?: string|null,
  number?: number|null,
  numbers?: number[],
  date?: string|null,          // ISO YYYY-MM-DD
  checkbox?: boolean|null,
  select?: { // select-like inputs
    type: 'number'|'date'|'string',
    value?: any|null,
    options: { value: any, text: string }[]
  },
  checkbuttons?: { // select-like inputs
    type: 'number'|'string',
    value?: any|null,
    options: { value: any, text: string }[]
  },
  checkboxes?: { // select-like inputs
    type: 'number'|'date'|'string'|'number[]'|'string[]',
    values?: any[],
    options: { value: any, text: string }[],
    classInput?: string
  },
  range?: { // ranges and validity
    type: 'number'|'date',
    nullable?: boolean,
    from?: number|string|Date|null,
    to?: number|string|Date|null
  },
  valid_until?: {
    type: 'date',
    nullable?: boolean,
    value?: string|Date|null
  }
}

DQuery = {
  from: number,
  size: number,
  init?: number,
  fields: DField[]
}
Error Codes
400Bad Request
Your request doesn't meet the required input format
401Not Authorized
Your request doesn't meet authorization requirements
404Not Found
The entity you're looking for is missing
460Request Error
Requested operation wasn't performed, or XML import failed
500Internal Error
We encountered an internal server error
503Not Available
Requested entity is offline and cannot be reached, try again later
/v1/reports/
List general ledger summary.
URL
/v1/reports/general_ledger/:uid
:uid - accounting unit identifier
Request
GET
Response
200text/json

{
   Ucet: string, account number
   Nazev: string, account name
   typ: number
   zmd: number, opening debit
   zdal: number, opening credit
   md: number, debit
   dal: number, credit
   kmd: number, closing debit
   kdal: number, closing credit
   Datum: string, YYYY-MM-DD
}[]
Error Codes
400Bad Request
Your request doesn't meet the required input format
401Not Authorized
Your request doesn't meet authorization requirements
404Not Found
The entity you're looking for is missing
460Request Error
Requested operation wasn't performed, or XML import failed
500Internal Error
We encountered an internal server error
503Not Available
Requested entity is offline and cannot be reached, try again later
List general ledger entries for an account.
URL
/v1/reports/general_ledger/:uid/:account
:uid - accounting unit identifier
:account - account number
Request
GET
Response
200text/json

{
   Datum?: string, YYYY-MM-DD
   Cislo: string, document number
   PDoklad?: number|null, internal id
   Firma?: string, company
   SText?: string, description
   UD: string, debit account
   UMD: string, credit account
   Kc: number, amount
   Dir?: string, direction
}[]
Error Codes
400Bad Request
Your request doesn't meet the required input format
401Not Authorized
Your request doesn't meet authorization requirements
404Not Found
The entity you're looking for is missing
460Request Error
Requested operation wasn't performed, or XML import failed
500Internal Error
We encountered an internal server error
503Not Available
Requested entity is offline and cannot be reached, try again later
List journal entries with server-side filtering and pagination.
URL
/v1/reports/journal/:uid
:uid - accounting unit identifier
Request
POSTtext/json
{
  from?: number,       // default 0
  size?: number,       // default 30
  ids?: number[],      // optional: restrict to IDs
  asc?: string,        // optional: sort asc, e.g. "Datum;ID"
  desc?: string,       // optional: sort desc, e.g. "Datum;ID"
  on?: string[]        // optional filters, tokens "Field;search;from;to"
}
Response
200text/json
{
  total: number,
  filtered: number,
  fields: DField[],
  data: any[],
  summary: { [key: string]: number },
  query: DQuery
}

DField = {
  name: string,
  text?: string,
  sort?: 'asc'|'desc'|'',
  // simple values (one of these may be present)
  string?: string|null,
  number?: number|null,
  numbers?: number[],
  date?: string|null,          // ISO YYYY-MM-DD
  checkbox?: boolean|null,
  select?: { // select-like inputs
    type: 'number'|'date'|'string',
    value?: any|null,
    options: { value: any, text: string }[]
  },
  checkbuttons?: { // select-like inputs
    type: 'number'|'string',
    value?: any|null,
    options: { value: any, text: string }[]
  },
  checkboxes?: { // select-like inputs
    type: 'number'|'date'|'string'|'number[]'|'string[]',
    values?: any[],
    options: { value: any, text: string }[],
    classInput?: string
  },
  range?: { // ranges and validity
    type: 'number'|'date',
    nullable?: boolean,
    from?: number|string|Date|null,
    to?: number|string|Date|null
  },
  valid_until?: {
    type: 'date',
    nullable?: boolean,
    value?: string|Date|null
  }
}

DQuery = {
  from: number,
  size: number,
  init?: number,
  fields: DField[]
}
Error Codes
400Bad Request
Your request doesn't meet the required input format
401Not Authorized
Your request doesn't meet authorization requirements
404Not Found
The entity you're looking for is missing
460Request Error
Requested operation wasn't performed, or XML import failed
500Internal Error
We encountered an internal server error
503Not Available
Requested entity is offline and cannot be reached, try again later
List costs and revenues by account.
URL
/v1/reports/costs_revenues_by_account/:uid
:uid - accounting unit identifier
Request
GET
Response
200text/json

{
   Datum: string, YYYY-MM-DD
   RelTpFak?: number, invoice type
   PDoklad?: number, internal id
   Cislo?: string, document number
   SKPP_Cislo?: string
   SKPP_SText?: string
   SKPV_Cislo?: string
   SKPV_SText?: string
   Firma?: string
   Jmeno?: string
   SText?: string
   UD: string
   UMD: string
   Kc: number
   RelUdAg: number
   Dir?: string
}[]
Error Codes
400Bad Request
Your request doesn't meet the required input format
401Not Authorized
Your request doesn't meet authorization requirements
404Not Found
The entity you're looking for is missing
460Request Error
Requested operation wasn't performed, or XML import failed
500Internal Error
We encountered an internal server error
503Not Available
Requested entity is offline and cannot be reached, try again later
Compute monthly statement for selected accounts.
URL
/v1/reports/monthly_statement/:uid
:uid - accounting unit identifier
Request
POSTtext/json
{
  from?: string,       // ISO date YYYY-MM-DD
  to?: string,         // ISO date YYYY-MM-DD
  ucty: string[],      // required: account numbers/prefixes
  stredisko?: number,  // optional: centre ID
  cinnost?: number,    // optional: activity ID
  zakazka?: string     // optional: order number
}
Response
200text/json

{
   Datum: string, YYYY-MM-DD
   UD: string
   UMD: string
   Kc: number
}[]
Error Codes
400Bad Request
Your request doesn't meet the required input format
401Not Authorized
Your request doesn't meet authorization requirements
404Not Found
The entity you're looking for is missing
460Request Error
Requested operation wasn't performed, or XML import failed
500Internal Error
We encountered an internal server error
503Not Available
Requested entity is offline and cannot be reached, try again later
Get bank summary for current and previous month.
URL
/v1/reports/highest_bank/:uid
:uid - accounting unit identifier
Request
GET
Response
200text/json

{
   Bank: string, bank name
   Bank_ID: number|string, bank id
   CurrentMonthTotal: number
   PreviousMonthTotal: number
   period_to: string, YYYY-MM-DD
}
Error Codes
400Bad Request
Your request doesn't meet the required input format
401Not Authorized
Your request doesn't meet authorization requirements
404Not Found
The entity you're looking for is missing
460Request Error
Requested operation wasn't performed, or XML import failed
500Internal Error
We encountered an internal server error
503Not Available
Requested entity is offline and cannot be reached, try again later
Get cash summary for current and previous month.
URL
/v1/reports/highest_cash/:uid
:uid - accounting unit identifier
Request
GET
Response
200text/json

{
   Cash: string, cash name
   Cash_ID: number|string, cash id
   CurrentMonthTotal: number
   PreviousMonthTotal: number
   period_to: string, YYYY-MM-DD
}
Error Codes
400Bad Request
Your request doesn't meet the required input format
401Not Authorized
Your request doesn't meet authorization requirements
404Not Found
The entity you're looking for is missing
460Request Error
Requested operation wasn't performed, or XML import failed
500Internal Error
We encountered an internal server error
503Not Available
Requested entity is offline and cannot be reached, try again later
Get company statistics.
URL
/v1/reports/statistics/:uid
:uid - accounting unit identifier
Request
GET
Response
200text/json

{
   PayablesTotal: number
   PayablesIn3Days: number
   PayablesOverduted30Days: number
   ReceivablesTotal: number
   ReceivablesIn3Days: number
   ReceivablesOverduted30Days: number
   danNaVystupe: number
   danNaVstupe: number
   predbeznaDPH: number
   bank_name: string
   bank_id: string|number
   bank_current_total: number
   bank_previous_total: number
   bank_period_to: string, YYYY-MM-DD
   cash_name: string
   cash_id: string|number
   cash_current_total: number
   cash_previous_total: number
   cash_period_to: string, YYYY-MM-DD
   period_to: string, YYYY-MM-DD
   is_current_year_or_newer: 'True'|'False'
}
Error Codes
400Bad Request
Your request doesn't meet the required input format
401Not Authorized
Your request doesn't meet authorization requirements
404Not Found
The entity you're looking for is missing
460Request Error
Requested operation wasn't performed, or XML import failed
500Internal Error
We encountered an internal server error
503Not Available
Requested entity is offline and cannot be reached, try again later
List corporate income tax inputs.
URL
/v1/reports/income_tax/:uid
:uid - accounting unit identifier
Request
GET
Response
200text/json

{
   revenues: { ID: number, account: string, name: string }[]
   expenses: { ID: number, account: string, name: string }[]
   revenues_ud: { ID: number, sum: number, UD: string }[]
   revenues_umd: { ID: number, sum: number, UMD: string }[]
   cost_ud: { ID: number, sum: number, UD: string }[]
   cost_umd: { ID: number, sum: number, UMD: string }[]
}
Error Codes
400Bad Request
Your request doesn't meet the required input format
401Not Authorized
Your request doesn't meet authorization requirements
404Not Found
The entity you're looking for is missing
460Request Error
Requested operation wasn't performed, or XML import failed
500Internal Error
We encountered an internal server error
503Not Available
Requested entity is offline and cannot be reached, try again later
List corporate income tax entries for an account.
URL
/v1/reports/income_tax/:uid/:account
:uid - accounting unit identifier
:account - account number
Request
GET
Response
200text/json

{
   Datum: string, YYYY-MM-DD
   Firma: string
   SText: string
   UD: string
   UMD: string
   Cislo: string
   Kc: number
   Dir?: string
}[]
Error Codes
400Bad Request
Your request doesn't meet the required input format
401Not Authorized
Your request doesn't meet authorization requirements
404Not Found
The entity you're looking for is missing
460Request Error
Requested operation wasn't performed, or XML import failed
500Internal Error
We encountered an internal server error
503Not Available
Requested entity is offline and cannot be reached, try again later
Compute profitability overview.
URL
/v1/reports/overview/:uid
:uid - accounting unit identifier
Request
POSTtext/json
{
  centre?: number,              // optional: centre ID
  cinnost?: number,             // optional: activity ID
  cislo_zak?: string,           // optional: order number
  RelTpFak?: number[],          // optional: invoice types [1,2,3,4,5,6,11,12,13,14,15,16]
  InvoiceType?: number,         // optional: one of RelTpFak (affects sign)
  dateTo?: string,              // optional: ISO date YYYY-MM-DD
  dateFrom?: string,            // optional: ISO date YYYY-MM-DD
  from?: number,                // optional: days lower bound, default 0
  to?: number                   // optional: days upper bound, default 100
}
Response
200text/json
{ sum: number, count: number }
Error Codes
400Bad Request
Your request doesn't meet the required input format
401Not Authorized
Your request doesn't meet authorization requirements
404Not Found
The entity you're looking for is missing
460Request Error
Requested operation wasn't performed, or XML import failed
500Internal Error
We encountered an internal server error
503Not Available
Requested entity is offline and cannot be reached, try again later
List items contributing to profitability overview.
URL
/v1/reports/overview/:uid/items
:uid - accounting unit identifier
Request
POSTtext/json
{
  centre?: number,
  cinnost?: number,
  cislo_zak?: string,
  RelTpFak?: number[],
  InvoiceType?: number,
  dateTo?: string,             // ISO date YYYY-MM-DD
  dateFrom?: string,           // ISO date YYYY-MM-DD
  percentage: string           // one of: '30','360','720','1080'
}
Response
200text/json

{
   Cislo: string, document number
   PDoklad: string, internal id
   Datum: string, YYYY-MM-DD
   DatSplat: string, due date YYYY-MM-DD
   Days: number, overdue days
   Firma: string
   SText: string
   KcCelkem: number, total
   KcLikv: number, paid
   Taxable: number
}[]
Error Codes
400Bad Request
Your request doesn't meet the required input format
401Not Authorized
Your request doesn't meet authorization requirements
404Not Found
The entity you're looking for is missing
460Request Error
Requested operation wasn't performed, or XML import failed
500Internal Error
We encountered an internal server error
503Not Available
Requested entity is offline and cannot be reached, try again later
Compute KPIs for selected services.
URL
/v1/reports/selected_services/:uid
:uid - accounting unit identifier
Request
POSTtext/json
{
  centre?: number,
  cinnost?: number,
  cislo_zak?: string,
  RelTpFak?: number[],         // invoice types [1,2,3,4,5,6,11,12,13,14,15,16]
  InvoiceType?: number,
  dateTo?: string,             // ISO date YYYY-MM-DD
  dateFrom?: string,           // ISO date YYYY-MM-DD
  type: 'N'|'P'|'S'|'C'|'l'    // required: service code
}
Response
200text/json
{ sum: number }
Error Codes
400Bad Request
Your request doesn't meet the required input format
401Not Authorized
Your request doesn't meet authorization requirements
404Not Found
The entity you're looking for is missing
460Request Error
Requested operation wasn't performed, or XML import failed
500Internal Error
We encountered an internal server error
503Not Available
Requested entity is offline and cannot be reached, try again later
List items for selected services KPIs.
URL
/v1/reports/selected_services/:uid/items
:uid - accounting unit identifier
Request
POSTtext/json
{
  centre?: number,
  cinnost?: number,
  cislo_zak?: string,
  RelTpFak?: number[],
  InvoiceType?: number,
  dateTo?: string,             // ISO date YYYY-MM-DD
  dateFrom?: string,           // ISO date YYYY-MM-DD
  type: 'N'|'P'|'S'|'C'|'l'    // required: service code
}
Response
200text/json

{
   Cislo: string, document number
   PDoklad: string, internal id
   Datum: string, YYYY-MM-DD
   DatSplat: string, due date YYYY-MM-DD
   Firma: string
   SText: string
   KcCelkem: number, total
   KcLikv: number, paid
   Taxable: number
}[]
Error Codes
400Bad Request
Your request doesn't meet the required input format
401Not Authorized
Your request doesn't meet authorization requirements
404Not Found
The entity you're looking for is missing
460Request Error
Requested operation wasn't performed, or XML import failed
500Internal Error
We encountered an internal server error
503Not Available
Requested entity is offline and cannot be reached, try again later
/v1/sql/
Run a read-only SQL SELECT for a unit and return rows.
URL
/v1/sql/:uid
:uid - accounting unit identifier
Request
POSTtext/plain
Request body is sql in plain text. Only SELECT allowed. Use :db placeholder for current unit DB.

POSTtext/base64
Request body is base64 encoded sql. Only SELECT allowed. Use :db placeholder for current unit DB.
Response
200text/json

{ json object }[]

Error Codes
400Bad Request
Your request doesn't meet the required input format
401Not Authorized
Your request doesn't meet authorization requirements
404Not Found
The entity you're looking for is missing
460Request Error
Requested operation wasn't performed, or XML import failed
500Internal Error
We encountered an internal server error
503Not Available
Requested entity is offline and cannot be reached, try again later
Run a read-only SQL SELECT for a unit and return a single row.
URL
/v1/sql/one/:uid
:uid - accounting unit identifier
Request
POSTtext/plain
Request body is sql in plain text.

POSTtext/base64
Request body is base64 encoded sql.
Response
200text/json

{ json object } || null

Error Codes
400Bad Request
Your request doesn't meet the required input format
401Not Authorized
Your request doesn't meet authorization requirements
404Not Found
The entity you're looking for is missing
460Request Error
Requested operation wasn't performed, or XML import failed
500Internal Error
We encountered an internal server error
503Not Available
Requested entity is offline and cannot be reached, try again later