api.nisa.digital
2025-08-28

Comprehensive guide to our Pohoda/Pamica endpoints

/v1/personal/employees/:uid

List employees for a unit.
Params
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
400 Bad Request
Your request doesn't meet the required input format
401 Not Authorized
Your request doesn't meet authorization requirements
404 Not Found
The entity you're looking for is missing
460 Request Error
Requested operation wasn't performed, or XML import failed
500 Internal Error
We encountered an internal server error
503 Not Available
Requested entity is offline and cannot be reached, try again later

/v1/personal/import/xml/:uid

Import Pamica attendance or employee XML and return vendor response.
Params
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
400 Bad Request
Your request doesn't meet the required input format
401 Not Authorized
Your request doesn't meet authorization requirements
404 Not Found
The entity you're looking for is missing
460 Request Error
Requested operation wasn't performed, or XML import failed
500 Internal Error
We encountered an internal server error
503 Not Available
Requested entity is offline and cannot be reached, try again later

/v1/personal/employments/list/:uid

List employments with server-side filtering and pagination.
Params
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
400 Bad Request
Your request doesn't meet the required input format
401 Not Authorized
Your request doesn't meet authorization requirements
404 Not Found
The entity you're looking for is missing
460 Request Error
Requested operation wasn't performed, or XML import failed
500 Internal Error
We encountered an internal server error
503 Not Available
Requested entity is offline and cannot be reached, try again later

/v1/personal/employments/:uid/:employee_id

List employments for one employee.
Params
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
400 Bad Request
Your request doesn't meet the required input format
401 Not Authorized
Your request doesn't meet authorization requirements
404 Not Found
The entity you're looking for is missing
460 Request Error
Requested operation wasn't performed, or XML import failed
500 Internal Error
We encountered an internal server error
503 Not Available
Requested entity is offline and cannot be reached, try again later

/v1/personal/absence/:uid

List absences in a date range for optional employees.
Params
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
400 Bad Request
Your request doesn't meet the required input format
401 Not Authorized
Your request doesn't meet authorization requirements
404 Not Found
The entity you're looking for is missing
460 Request Error
Requested operation wasn't performed, or XML import failed
500 Internal Error
We encountered an internal server error
503 Not Available
Requested entity is offline and cannot be reached, try again later

/v1/personal/absence/remove/:uid

Remove absences by IDs and return removed rows.
Params
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
400 Bad Request
Your request doesn't meet the required input format
401 Not Authorized
Your request doesn't meet authorization requirements
404 Not Found
The entity you're looking for is missing
460 Request Error
Requested operation wasn't performed, or XML import failed
500 Internal Error
We encountered an internal server error
503 Not Available
Requested entity is offline and cannot be reached, try again later

/v1/personal/employee/:uid/:id

Get employee by ID.
Params
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
400 Bad Request
Your request doesn't meet the required input format
401 Not Authorized
Your request doesn't meet authorization requirements
404 Not Found
The entity you're looking for is missing
460 Request Error
Requested operation wasn't performed, or XML import failed
500 Internal Error
We encountered an internal server error
503 Not Available
Requested entity is offline and cannot be reached, try again later

/v1/personal/employment/person/:uid/:pomer_id

Get employee by employment relationship ID.
Params
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
400 Bad Request
Your request doesn't meet the required input format
401 Not Authorized
Your request doesn't meet authorization requirements
404 Not Found
The entity you're looking for is missing
460 Request Error
Requested operation wasn't performed, or XML import failed
500 Internal Error
We encountered an internal server error
503 Not Available
Requested entity is offline and cannot be reached, try again later

/v1/personal/info/:uid/:employee_id

Get employee info with employments.
Params
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
400 Bad Request
Your request doesn't meet the required input format
401 Not Authorized
Your request doesn't meet authorization requirements
404 Not Found
The entity you're looking for is missing
460 Request Error
Requested operation wasn't performed, or XML import failed
500 Internal Error
We encountered an internal server error
503 Not Available
Requested entity is offline and cannot be reached, try again later

/v1/personal/employee/by-email/:uid/:email

Get employee by email.
Params
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
400 Bad Request
Your request doesn't meet the required input format
401 Not Authorized
Your request doesn't meet authorization requirements
404 Not Found
The entity you're looking for is missing
460 Request Error
Requested operation wasn't performed, or XML import failed
500 Internal Error
We encountered an internal server error
503 Not Available
Requested entity is offline and cannot be reached, try again later

/v1/personal/password_update/:uid

Update employee password and optionally email.
Params
uid - accounting unit identifier
Request
POSTtext/json
{ id: number, pwd: string, email: string }
Response
200text/plain
OK
Error Codes
400 Bad Request
Your request doesn't meet the required input format
401 Not Authorized
Your request doesn't meet authorization requirements
404 Not Found
The entity you're looking for is missing
460 Request Error
Requested operation wasn't performed, or XML import failed
500 Internal Error
We encountered an internal server error
503 Not Available
Requested entity is offline and cannot be reached, try again later

/v1/personal/contact_update/:uid

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

/v1/personal/profile/:uid/:employee_id

Get employee profile with children and additional info.
Params
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
400 Bad Request
Your request doesn't meet the required input format
401 Not Authorized
Your request doesn't meet authorization requirements
404 Not Found
The entity you're looking for is missing
460 Request Error
Requested operation wasn't performed, or XML import failed
500 Internal Error
We encountered an internal server error
503 Not Available
Requested entity is offline and cannot be reached, try again later

/v1/personal/salary/:uid/:salary_id

Get a salary with items and deductions.
Params
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
400 Bad Request
Your request doesn't meet the required input format
401 Not Authorized
Your request doesn't meet authorization requirements
404 Not Found
The entity you're looking for is missing
460 Request Error
Requested operation wasn't performed, or XML import failed
500 Internal Error
We encountered an internal server error
503 Not Available
Requested entity is offline and cannot be reached, try again later

/v1/personal/benefit/types/:uid

List benefit item types.
Params
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
400 Bad Request
Your request doesn't meet the required input format
401 Not Authorized
Your request doesn't meet authorization requirements
404 Not Found
The entity you're looking for is missing
460 Request Error
Requested operation wasn't performed, or XML import failed
500 Internal Error
We encountered an internal server error
503 Not Available
Requested entity is offline and cannot be reached, try again later

/v1/personal/benefits/:uid

List benefits for optional employees.
Params
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
400 Bad Request
Your request doesn't meet the required input format
401 Not Authorized
Your request doesn't meet authorization requirements
404 Not Found
The entity you're looking for is missing
460 Request Error
Requested operation wasn't performed, or XML import failed
500 Internal Error
We encountered an internal server error
503 Not Available
Requested entity is offline and cannot be reached, try again later

/v1/personal/benefit/:uid/:id

Remove a benefit item by ID.
Params
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
400 Bad Request
Your request doesn't meet the required input format
401 Not Authorized
Your request doesn't meet authorization requirements
404 Not Found
The entity you're looking for is missing
460 Request Error
Requested operation wasn't performed, or XML import failed
500 Internal Error
We encountered an internal server error
503 Not Available
Requested entity is offline and cannot be reached, try again later

/v1/personal/benefit/:uid/:id/update

Update a benefit item.
Params
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
400 Bad Request
Your request doesn't meet the required input format
401 Not Authorized
Your request doesn't meet authorization requirements
404 Not Found
The entity you're looking for is missing
460 Request Error
Requested operation wasn't performed, or XML import failed
500 Internal Error
We encountered an internal server error
503 Not Available
Requested entity is offline and cannot be reached, try again later

/v1/personal/benefit/add/:uid

Add a benefit item.
Params
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
400 Bad Request
Your request doesn't meet the required input format
401 Not Authorized
Your request doesn't meet authorization requirements
404 Not Found
The entity you're looking for is missing
460 Request Error
Requested operation wasn't performed, or XML import failed
500 Internal Error
We encountered an internal server error
503 Not Available
Requested entity is offline and cannot be reached, try again later

/v1/personal/deductions/:uid

List deductions for optional employees.
Params
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
400 Bad Request
Your request doesn't meet the required input format
401 Not Authorized
Your request doesn't meet authorization requirements
404 Not Found
The entity you're looking for is missing
460 Request Error
Requested operation wasn't performed, or XML import failed
500 Internal Error
We encountered an internal server error
503 Not Available
Requested entity is offline and cannot be reached, try again later

/v1/personal/deductions/previous_month/:uid

List previous month deduction summary.
Params
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
400 Bad Request
Your request doesn't meet the required input format
401 Not Authorized
Your request doesn't meet authorization requirements
404 Not Found
The entity you're looking for is missing
460 Request Error
Requested operation wasn't performed, or XML import failed
500 Internal Error
We encountered an internal server error
503 Not Available
Requested entity is offline and cannot be reached, try again later

/v1/personal/payslips/:uid

List payslips with server-side filtering and pagination.
Params
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
400 Bad Request
Your request doesn't meet the required input format
401 Not Authorized
Your request doesn't meet authorization requirements
404 Not Found
The entity you're looking for is missing
460 Request Error
Requested operation wasn't performed, or XML import failed
500 Internal Error
We encountered an internal server error
503 Not Available
Requested entity is offline and cannot be reached, try again later

/v1/personal/employees_status/:uid

List employment status in a date range.
Params
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
400 Bad Request
Your request doesn't meet the required input format
401 Not Authorized
Your request doesn't meet authorization requirements
404 Not Found
The entity you're looking for is missing
460 Request Error
Requested operation wasn't performed, or XML import failed
500 Internal Error
We encountered an internal server error
503 Not Available
Requested entity is offline and cannot be reached, try again later

/v1/personal/access_list/:uid

List employees with basic contact for access control.
Params
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
400 Bad Request
Your request doesn't meet the required input format
401 Not Authorized
Your request doesn't meet authorization requirements
404 Not Found
The entity you're looking for is missing
460 Request Error
Requested operation wasn't performed, or XML import failed
500 Internal Error
We encountered an internal server error
503 Not Available
Requested entity is offline and cannot be reached, try again later

/v1/personal/recruit/:uid

Create a new employee (recruit).
Params
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
400 Bad Request
Your request doesn't meet the required input format
401 Not Authorized
Your request doesn't meet authorization requirements
404 Not Found
The entity you're looking for is missing
460 Request Error
Requested operation wasn't performed, or XML import failed
500 Internal Error
We encountered an internal server error
503 Not Available
Requested entity is offline and cannot be reached, try again later

/v1/personal/health_insurance/:uid

List health insurance companies for a unit.
Params
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
400 Bad Request
Your request doesn't meet the required input format
401 Not Authorized
Your request doesn't meet authorization requirements
404 Not Found
The entity you're looking for is missing
460 Request Error
Requested operation wasn't performed, or XML import failed
500 Internal Error
We encountered an internal server error
503 Not Available
Requested entity is offline and cannot be reached, try again later

/v1/personal/pension_funds/:uid

List pension funds for a unit.
Params
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
400 Bad Request
Your request doesn't meet the required input format
401 Not Authorized
Your request doesn't meet authorization requirements
404 Not Found
The entity you're looking for is missing
460 Request Error
Requested operation wasn't performed, or XML import failed
500 Internal Error
We encountered an internal server error
503 Not Available
Requested entity is offline and cannot be reached, try again later

/v1/personal/insurers/:uid

List life insurers for a unit.
Params
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
400 Bad Request
Your request doesn't meet the required input format
401 Not Authorized
Your request doesn't meet authorization requirements
404 Not Found
The entity you're looking for is missing
460 Request Error
Requested operation wasn't performed, or XML import failed
500 Internal Error
We encountered an internal server error
503 Not Available
Requested entity is offline and cannot be reached, try again later