Skip to content

Operations in the Payroll group.

Base URLhttps://api.damedoklad.cz/v1AuthenticationErrors and limitsConventions

Statutory employer liability insurance of a year (vyhláška 125/1993 Sb.), by quarter: what is raised, what would be raised, and why not yet. The decree has no advances and no annual settlement: each quarter stands on the previous quarter's bases

GET/v1/payroll/accident-insurance

Statutory employer liability insurance of a year (vyhláška 125/1993 Sb.), by quarter: what is raised, what would be raised, and why not yet. The decree has no advances and no annual settlement: each quarter stands on the previous quarter's bases

MCP tool: get-payroll-accident-insurance

Query parameters

yearintegerrequiredmin 2000max 2100

Response · 200

yearintegerrequired
insurernull | stringrequired
okecnull | stringrequired
ratePermillenull | numberrequired
quartersobject[]required
quarterinteger | nullrequired
premiumanyrequired
Null in every recorded response.
previewnull | objectrequired
yearintegerrequired
quarterinteger | nullrequired
basisstringrequired
baseHalerinteger | nullrequired
ratePermillenumberrequired
amountHalerinteger | nullrequired
minimumAppliedbooleanrequired
dueDatenull | stringrequireddate
problemsstring[]required
totalHalerinteger | nullrequired
GET/v1/payroll/accident-insurance
curl https://api.damedoklad.cz/v1/payroll/accident-insurance \
  -H "Authorization: Bearer $DAMEDOKLAD_API_KEY"

Raise a quarter's premium as an Ostatní závazek to the insurer: MD 548 / D 325 in double entry, an expense when paid in the cash book. Goes on a payment order like any other payable. A company that moved here mid-year states the previous quarter's base

POST/v1/payroll/accident-insurance

Raise a quarter's premium as an Ostatní závazek to the insurer: MD 548 / D 325 in double entry, an expense when paid in the cash book. Goes on a payment order like any other payable. A company that moved here mid-year states the previous quarter's base

MCP tool: create-payroll-accident-premium

Request body

yearintegerrequiredmin 2000max 2100
quarterintegerrequiredmin 1max 4
baseHalerintegermin 0max 9007199254740991
Integer amount in haléře: 100 = 1 Kč.
issueDatestringYYYY-MM-DD
Date as YYYY-MM-DD.

Response · 201

idstringrequired
yearintegerrequired
quarterintegerrequired
insurerstringrequired
basisstringrequired
baseHalerintegerrequired
ratePermillenumberrequired
amountHalerintegerrequired
dueDatestringrequireddate
documentIdstringrequired
documentNumbernull | stringrequired
POST/v1/payroll/accident-insurance
curl -X POST https://api.damedoklad.cz/v1/payroll/accident-insurance \
  -H "Authorization: Bearer $DAMEDOKLAD_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
  "year": 2026,
  "quarter": 1
}'

Overview of a year's premiums as PDF. An employer must be able to prove what was paid and how it was worked out (§ 12 odst. 7 vyhlášky 125/1993 Sb.)

GET/v1/payroll/accident-insurance.pdf

Overview of a year's premiums as PDF. An employer must be able to prove what was paid and how it was worked out (§ 12 odst. 7 vyhlášky 125/1993 Sb.)

MCP tool: get-payroll-accident-insurance-pdf

Query parameters

yearintegerrequiredmin 2000max 2100

Response · 200

Returns a application/pdf file.

GET/v1/payroll/accident-insurance.pdf
curl https://api.damedoklad.cz/v1/payroll/accident-insurance.pdf \
  -H "Authorization: Bearer $DAMEDOKLAD_API_KEY" \
  -o soubor

Withdraw a raised premium, so a wrong quarter can be raised again: cancels its Ostatní závazek, which must not be paid

POST/v1/payroll/accident-insurance/{id}/cancel

Withdraw a raised premium, so a wrong quarter can be raised again: cancels its Ostatní závazek, which must not be paid

IrreversibleThis operation cannot be undone. MCP clients ask for confirmation first.

MCP tool: cancel-payroll-accident-premium

Path parameters

idstringrequired

Response · 200

idstringrequired
deletedbooleanrequired
POST/v1/payroll/accident-insurance/{id}/cancel
curl -X POST https://api.damedoklad.cz/v1/payroll/accident-insurance/obj_2n9F4kT7wQ1xYz0aBcDeFgHiJkL/cancel \
  -H "Authorization: Bearer $DAMEDOKLAD_API_KEY"

Figures for the annual tax settlement (Vyúčtování daně) by month, from locked runs

GET/v1/payroll/annual/tax

Figures for the annual tax settlement (Vyúčtování daně) by month, from locked runs

MCP tool: get-payroll-annual-tax

Query parameters

yearintegerrequiredmin 2000max 2100

Response · 200

yearintegerrequired
monthsobject[]required
runIdnull | stringrequired
monthinteger | nullrequired
employeeCountintegerrequired
taxableHalerintegerrequired
advanceHalerintegerrequired
bonusHalerintegerrequired
advancePayableHalerintegerrequired
withholdingTaxHalerintegerrequired
GET/v1/payroll/annual/tax
curl https://api.damedoklad.cz/v1/payroll/annual/tax \
  -H "Authorization: Bearer $DAMEDOKLAD_API_KEY"

Working paper for the annual tax settlement as PDF. The EPO file is `tax.xml`

GET/v1/payroll/annual/tax.pdf

Working paper for the annual tax settlement as PDF. The EPO file is `tax.xml`

MCP tool: get-payroll-annual-tax-pdf

Query parameters

yearintegerrequiredmin 2000max 2100

Response · 200

Returns a application/pdf file.

GET/v1/payroll/annual/tax.pdf
curl https://api.damedoklad.cz/v1/payroll/annual/tax.pdf \
  -H "Authorization: Bearer $DAMEDOKLAD_API_KEY" \
  -o soubor

Vyúčtování daně z příjmů ze závislé činnosti as EPO XML (DPZVD6 09.03.01) for a whole year, with Přílohy 1 to 4. Valid against the official XSD; the portal runs further checks. Refused from 2027, when the Vyúčtování is abolished. A dodatečné one is a separate operation

GET/v1/payroll/annual/tax.xml

Vyúčtování daně z příjmů ze závislé činnosti as EPO XML (DPZVD6 09.03.01) for a whole year, with Přílohy 1 to 4. Valid against the official XSD; the portal runs further checks. Refused from 2027, when the Vyúčtování is abolished. A dodatečné one is a separate operation

MCP tool: get-payroll-annual-tax-xml

Query parameters

yearintegerrequiredmin 2000max 2100
type"B" | "O"

Response · 200

Returns a application/xml file.

GET/v1/payroll/annual/tax.xml
curl https://api.damedoklad.cz/v1/payroll/annual/tax.xml \
  -H "Authorization: Bearer $DAMEDOKLAD_API_KEY" \
  -o soubor

Corrections of advances, tax, and bonuses under § 38i ZDP that go on Příloha 3 and 4 of the Vyúčtování

GET/v1/payroll/annual/tax/corrections

Corrections of advances, tax, and bonuses under § 38i ZDP that go on Příloha 3 and 4 of the Vyúčtování

MCP tool: list-payroll-tax-corrections

Query parameters

yearintegermin 2000max 2100
limitintegermin 1max 500
offsetintegermin 0max 9007199254740991
searchstringmax 200 chars

Response · 200

dataobject[]required
object"payroll_tax_correction"required
idstringrequired
employeeIdnull | stringrequired
subjectstringrequired
wrongYearintegerrequired
wrongMonthinteger | nullrequired
dueDatenull | stringrequireddate
correctedYearintegerrequired
correctedMonthintegerrequired
settledOnnull | stringrequireddate
bonusRequestedOnstring | nullrequired
amountHalerintegerrequired
notenull | stringrequired
totalinteger
Rows that match, on all pages.
hasMorebooleanrequired
More rows follow. Ask again with offset + the number of rows received.
GET/v1/payroll/annual/tax/corrections
curl https://api.damedoklad.cz/v1/payroll/annual/tax/corrections \
  -H "Authorization: Bearer $DAMEDOKLAD_API_KEY"

Record a correction under § 38i ZDP. A returned amount is negative, a debt positive, as the annex states it. It does not change a locked run or pay anything

POST/v1/payroll/annual/tax/corrections

Record a correction under § 38i ZDP. A returned amount is negative, a debt positive, as the annex states it. It does not change a locked run or pay anything

MCP tool: create-payroll-tax-correction

Request body

employeeIdstring | null
ID of the employee.
subject"advance" | "tax" | "monthly_bonus" | "settlement_bonus"required
wrongYearintegerrequiredmin 2000max 2100
wrongMonthinteger | null
dueDatestring | null
Date as YYYY-MM-DD.
correctedYearintegerrequiredmin 2000max 2100
correctedMonthintegerrequiredmin 1max 12
settledOnstring | null
Date as YYYY-MM-DD.
bonusRequestedOnstring | null
Date as YYYY-MM-DD.
amountHalerintegerrequiredmin -9007199254740991max 9007199254740991
Integer amount in haléře: 100 = 1 Kč.
notestring | null

Response · 201

idstringrequired
employeeIdnull | stringrequired
subjectstringrequired
wrongYearintegerrequired
wrongMonthinteger | nullrequired
dueDatenull | stringrequireddate
correctedYearintegerrequired
correctedMonthintegerrequired
settledOnnull | stringrequireddate
bonusRequestedOnstring | nullrequired
amountHalerintegerrequired
notenull | stringrequired
POST/v1/payroll/annual/tax/corrections
curl -X POST https://api.damedoklad.cz/v1/payroll/annual/tax/corrections \
  -H "Authorization: Bearer $DAMEDOKLAD_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
  "subject": "advance",
  "wrongYear": 2026,
  "correctedYear": 2026,
  "correctedMonth": 1,
  "amountHaler": 1210000
}'

Change a recorded correction under § 38i ZDP

PATCH/v1/payroll/annual/tax/corrections/{id}

Change a recorded correction under § 38i ZDP

MCP tool: update-payroll-tax-correction

Path parameters

idstringrequired

Request body

employeeIdstring | null
ID of the employee.
subject"advance" | "tax" | "monthly_bonus" | "settlement_bonus"
wrongYearintegermin 2000max 2100
wrongMonthinteger | null
dueDatestring | null
Date as YYYY-MM-DD.
correctedYearintegermin 2000max 2100
correctedMonthintegermin 1max 12
settledOnstring | null
Date as YYYY-MM-DD.
bonusRequestedOnstring | null
Date as YYYY-MM-DD.
amountHalerintegermin -9007199254740991max 9007199254740991
Integer amount in haléře: 100 = 1 Kč.
notestring | null

Response · 200

idstringrequired
employeeIdnull | stringrequired
subjectstringrequired
wrongYearintegerrequired
wrongMonthinteger | nullrequired
dueDatenull | stringrequireddate
correctedYearintegerrequired
correctedMonthintegerrequired
settledOnnull | stringrequireddate
bonusRequestedOnstring | nullrequired
amountHalerintegerrequired
notenull | stringrequired
PATCH/v1/payroll/annual/tax/corrections/{id}
curl -X PATCH https://api.damedoklad.cz/v1/payroll/annual/tax/corrections/obj_2n9F4kT7wQ1xYz0aBcDeFgHiJkL \
  -H "Authorization: Bearer $DAMEDOKLAD_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
  "employeeId": "yee_2n9F4kT7wQ1xYz0aBcDeFgHiJkL",
  "subject": "advance",
  "wrongYear": 2026
}'

Delete a recorded correction under § 38i ZDP

DELETE/v1/payroll/annual/tax/corrections/{id}

Delete a recorded correction under § 38i ZDP

IrreversibleThis operation cannot be undone. MCP clients ask for confirmation first.

MCP tool: delete-payroll-tax-correction

Path parameters

idstringrequired

Response · 200

idstringrequired
deletedbooleanrequired
DELETE/v1/payroll/annual/tax/corrections/{id}
curl -X DELETE https://api.damedoklad.cz/v1/payroll/annual/tax/corrections/obj_2n9F4kT7wQ1xYz0aBcDeFgHiJkL \
  -H "Authorization: Bearer $DAMEDOKLAD_API_KEY"

Recorded filings of the Vyúčtování for a year, with what each of them said

GET/v1/payroll/annual/tax/filed

Recorded filings of the Vyúčtování for a year, with what each of them said

MCP tool: list-payroll-annual-tax-filings

Query parameters

yearintegerrequiredmin 2000max 2100
limitintegermin 1max 500
offsetintegermin 0max 9007199254740991
searchstringmax 200 chars

Response · 200

dataobject[]required
object"payroll_annual_tax_filing"required
idstringrequired
yearintegerrequired
typestringrequired
submittedAtnull | stringrequireddate-time
notestring | nullrequired
column9integer[]required
totalinteger
Rows that match, on all pages.
hasMorebooleanrequired
More rows follow. Ask again with offset + the number of rows received.
GET/v1/payroll/annual/tax/filed
curl https://api.damedoklad.cz/v1/payroll/annual/tax/filed \
  -H "Authorization: Bearer $DAMEDOKLAD_API_KEY"

Record that a Vyúčtování was filed and keep what it said, so a dodatečné one can be compared to it. DameDoklad does not submit it for you

POST/v1/payroll/annual/tax/filed

Record that a Vyúčtování was filed and keep what it said, so a dodatečné one can be compared to it. DameDoklad does not submit it for you

MCP tool: record-payroll-annual-tax-filing

Request body

yearintegerrequiredmin 2000max 2100
type"B" | "O" | "D" | "E"
filedOnstringrequiredYYYY-MM-DD
Date as YYYY-MM-DD.
notestring | null

Response · 201

idstringrequired
yearintegerrequired
typestringrequired
submittedAtnull | stringrequireddate-time
notestring | nullrequired
column9integer[]required
POST/v1/payroll/annual/tax/filed
curl -X POST https://api.damedoklad.cz/v1/payroll/annual/tax/filed \
  -H "Authorization: Bearer $DAMEDOKLAD_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
  "year": 2026,
  "filedOn": "2026-10-30"
}'

Dodatečné or dodatečné opravné Vyúčtování (§ 141 daňového řádu) as EPO XML: all months in full, sloupec 10 as the difference against what was filed, and the reasons. Needs a recorded filing of that year or the filed sloupec 9 by month

POST/v1/payroll/annual/tax/supplementary.xml

Dodatečné or dodatečné opravné Vyúčtování (§ 141 daňového řádu) as EPO XML: all months in full, sloupec 10 as the difference against what was filed, and the reasons. Needs a recorded filing of that year or the filed sloupec 9 by month

MCP tool: create-payroll-supplementary-tax-xml

Request body

yearintegerrequiredmin 2000max 2100
type"D" | "E"
discoveredOnstringrequiredYYYY-MM-DD
Date as YYYY-MM-DD.
reasonsstringrequiredmax 5000 chars
filedColumn9integer[]

Response · 200

Returns a application/xml file.

POST/v1/payroll/annual/tax/supplementary.xml
curl -X POST https://api.damedoklad.cz/v1/payroll/annual/tax/supplementary.xml \
  -H "Authorization: Bearer $DAMEDOKLAD_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
  "year": 2026,
  "discoveredOn": "2026-10-30",
  "reasons": "string"
}' \
  -o soubor

Vyúčtování daně vybírané srážkou as EPO XML (DPSVD2 09.04.01) for income of natural persons in a whole year. Valid against the official XSD; the portal runs further checks

GET/v1/payroll/annual/withholding.xml

Vyúčtování daně vybírané srážkou as EPO XML (DPSVD2 09.04.01) for income of natural persons in a whole year. Valid against the official XSD; the portal runs further checks

MCP tool: get-payroll-annual-withholding-xml

Query parameters

yearintegerrequiredmin 2000max 2100
type"B" | "O"

Response · 200

Returns a application/xml file.

GET/v1/payroll/annual/withholding.xml
curl https://api.damedoklad.cz/v1/payroll/annual/withholding.xml \
  -H "Authorization: Bearer $DAMEDOKLAD_API_KEY" \
  -o soubor

Get the attendance grid of a month: calendar with holidays and one row per contract, with hours and remaining vacation

GET/v1/payroll/attendance

Get the attendance grid of a month: calendar with holidays and one row per contract, with hours and remaining vacation

MCP tool: get-payroll-attendance

Query parameters

yearintegerrequiredmin 2000max 2100
monthintegerrequiredmin 1max 12

Response · 200

yearintegerrequired
monthinteger | nullrequired
lockedbooleanrequired
fundDaysintegerrequired
calendarobject[]required
dayintegerrequired
weekdayintegerrequired
isWeekendbooleanrequired
holidaynull | stringrequired
rowsobject[]required
contractIdnull | stringrequired
allocationMethodstringrequired
employeeIdnull | stringrequired
employeeNamestringrequired
typestringrequired
positionnull | stringrequired
wageTypestringrequired
scheduledbooleanrequired
dailyMilliintegerrequired
startDatestringrequireddate
endDatestring | nullrequired
daysobjectrequired
workedHoursMilliintegerrequired
extraShiftsintegerrequired
overtimeMilliintegerrequired
nightMilliintegerrequired
weekendMilliintegerrequired
holidayWorkedMilliintegerrequired
difficultMilliintegerrequired
bonusHalerintegerrequired
otherTaxableHalerintegerrequired
otherExemptHalerintegerrequired
allocationany[]required
notestring | nullrequired
summarynull | objectrequired
fromstringrequireddate
tostringrequireddate
activebooleanrequired
employedDaysintegerrequired
calendarDaysintegerrequired
fundFullMilliintegerrequired
fundEmployedMilliintegerrequired
workedMilliintegerrequired
weekendWorkedMilliintegerrequired
holidayWorkedMilliintegerrequired
holidayMilliintegerrequired
vacationMilliintegerrequired
sickPaidMilliintegerrequired
sickUnpaidMilliintegerrequired
ocrMilliintegerrequired
paidLeaveMilliintegerrequired
unpaidLeaveMilliintegerrequired
absentMilliintegerrequired
obstacleMilliintegerrequired
absenceInFundMilliintegerrequired
sickDaysintegerrequired
ocrDaysintegerrequired
healthExcludedDaysintegerrequired
workedDaysintegerrequired
shiftsintegerrequired
sickStreakAtEndintegerrequired
vacationEntitlementMilliintegerrequired
vacationUsedMilliintegerrequired
earlierMonthsany[]
tipsHalerinteger
severanceHalerinteger
damagesHalerinteger
tipsExemptHalerinteger | null
GET/v1/payroll/attendance
curl https://api.damedoklad.cz/v1/payroll/attendance \
  -H "Authorization: Bearer $DAMEDOKLAD_API_KEY"

Save a contract's attendance for a month: day codes (vacation, sick, ocr, paid_leave, unpaid_leave, ...), overtime, premiums, bonus

PUT/v1/payroll/attendance/{contractId}/{year}/{month}

Save a contract's attendance for a month: day codes (vacation, sick, ocr, paid_leave, unpaid_leave, ...), overtime, premiums, bonus

MCP tool: save-payroll-attendance

Path parameters

contractIdstringrequired
ID of the contract. Find it with list-contracts.
yearstringrequired
monthstringrequired

Request body

daysobject
workedHoursMilliintegermin 0max 9007199254740991
Integer thousandths: 1500 means 1.5.
extraShiftsintegermin 0max 62
overtimeMilliintegermin 0max 9007199254740991
Integer thousandths: 1500 means 1.5.
nightMilliintegermin 0max 9007199254740991
Integer thousandths: 1500 means 1.5.
weekendMilliintegermin 0max 9007199254740991
Integer thousandths: 1500 means 1.5.
holidayWorkedMilliintegermin 0max 9007199254740991
Integer thousandths: 1500 means 1.5.
difficultMilliintegermin 0max 9007199254740991
Integer thousandths: 1500 means 1.5.
bonusHalerintegermin 0max 9007199254740991
Integer amount in haléře: 100 = 1 Kč.
otherTaxableHalerintegermin 0max 9007199254740991
Integer amount in haléře: 100 = 1 Kč.
otherExemptHalerintegermin 0max 9007199254740991
Integer amount in haléře: 100 = 1 Kč.
severanceHalerintegermin 0max 9007199254740991
Integer amount in haléře: 100 = 1 Kč.
damagesHalerintegermin 0max 9007199254740991
Integer amount in haléře: 100 = 1 Kč.
tipsHalerintegermin 0max 9007199254740991
Integer amount in haléře: 100 = 1 Kč.
tipsExemptHalerinteger | null
Integer amount in haléře: 100 = 1 Kč.
earlierMonthsobject[]
monthintegerrequiredmin 1max 11
taxableHalerintegerrequiredmin 0max 9007199254740991
Integer amount in haléře: 100 = 1 Kč.
allocationobject[]
centerIdstring | null
ID of the center.
activityIdstring | null
ID of the activity. Find it with list-activity.
projectIdstring | null
ID of the project.
hoursMilliintegerrequiredmin 0max 9007199254740991
Integer thousandths: 1500 means 1.5.
notestring | null

Response · 200

idstringrequired
contractIdstringrequired
yearintegerrequired
monthintegerrequired
daysobjectrequired
workedHoursMilliintegerrequired
extraShiftsintegerrequired
overtimeMilliintegerrequired
nightMilliintegerrequired
weekendMilliintegerrequired
holidayWorkedMilliintegerrequired
difficultMilliintegerrequired
bonusHalerintegerrequired
otherTaxableHalerintegerrequired
otherExemptHalerintegerrequired
allocationobject[]required
centerIdstring | nullrequired
activityIdnull | stringrequired
projectIdstring | nullrequired
hoursMilliintegerrequired
notestring | nullrequired
summarynull | objectrequired
fromstringrequireddate
tostringrequireddate
activebooleanrequired
employedDaysintegerrequired
calendarDaysintegerrequired
fundFullMilliintegerrequired
fundEmployedMilliintegerrequired
workedMilliintegerrequired
weekendWorkedMilliintegerrequired
holidayWorkedMilliintegerrequired
holidayMilliintegerrequired
vacationMilliintegerrequired
sickPaidMilliintegerrequired
sickUnpaidMilliintegerrequired
ocrMilliintegerrequired
paidLeaveMilliintegerrequired
unpaidLeaveMilliintegerrequired
absentMilliintegerrequired
obstacleMilliintegerrequired
absenceInFundMilliintegerrequired
sickDaysintegerrequired
ocrDaysintegerrequired
healthExcludedDaysintegerrequired
workedDaysintegerrequired
shiftsintegerrequired
sickStreakAtEndintegerrequired
earlierMonthsobject[]
monthintegerrequired
taxableHalerintegerrequired
tipsHalerinteger
severanceHalerinteger
damagesHalerinteger
tipsExemptHalerinteger | null
PUT/v1/payroll/attendance/{contractId}/{year}/{month}
curl -X PUT https://api.damedoklad.cz/v1/payroll/attendance/obj_2n9F4kT7wQ1xYz0aBcDeFgHiJkL/obj_2n9F4kT7wQ1xYz0aBcDeFgHiJkL/obj_2n9F4kT7wQ1xYz0aBcDeFgHiJkL \
  -H "Authorization: Bearer $DAMEDOKLAD_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
  "days": {},
  "workedHoursMilli": 1000,
  "extraShifts": 0
}'

List requests for a tax bonus paid from own funds

GET/v1/payroll/bonus-requests

List requests for a tax bonus paid from own funds

MCP tool: list-payroll-bonus-requests

Query parameters

yearintegerrequiredmin 2000max 2100
limitintegermin 1max 500
offsetintegermin 0max 9007199254740991

Response · 200

dataany[]required
totalinteger
Rows that match, on all pages.
hasMorebooleanrequired
More rows follow. Ask again with offset + the number of rows received.
GET/v1/payroll/bonus-requests
curl https://api.damedoklad.cz/v1/payroll/bonus-requests \
  -H "Authorization: Bearer $DAMEDOKLAD_API_KEY"

Record a request for a tax bonus paid from own funds. The amount then stops counting against later months' advances. Refused once the next month has already taken it off. You file the XML yourself

POST/v1/payroll/bonus-requests

Record a request for a tax bonus paid from own funds. The amount then stops counting against later months' advances. Refused once the next month has already taken it off. You file the XML yourself

MCP tool: create-payroll-bonus-request

Request body

kind"monthly" | "settlement"required
type"regular" | "additional"
yearintegerrequiredmin 2000max 2100
monthintegermin 1max 12
requestedHalerintegermin 0max 9007199254740991
Integer amount in haléře: 100 = 1 Kč.
filedOnstringYYYY-MM-DD
Date as YYYY-MM-DD.

Response · 201

idstringrequired
kindstringrequired
typestringrequired
yearintegerrequired
monthinteger | nullrequired
totalHalerintegerrequired
fromAdvancesHalerintegerrequired
ownFundsHalerintegerrequired
requestedHalerintegerrequired
paidOnnull | stringrequireddate
filedOnstringrequireddate
POST/v1/payroll/bonus-requests
curl -X POST https://api.damedoklad.cz/v1/payroll/bonus-requests \
  -H "Authorization: Bearer $DAMEDOKLAD_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
  "kind": "monthly",
  "year": 2026
}'

Remove a recorded request, so the amount counts against later advances again

DELETE/v1/payroll/bonus-requests/{id}

Remove a recorded request, so the amount counts against later advances again

IrreversibleThis operation cannot be undone. MCP clients ask for confirmation first.

MCP tool: delete-payroll-bonus-request

Path parameters

idstringrequired

Response · 200

idstringrequired
deletedbooleanrequired
DELETE/v1/payroll/bonus-requests/{id}
curl -X DELETE https://api.damedoklad.cz/v1/payroll/bonus-requests/obj_2n9F4kT7wQ1xYz0aBcDeFgHiJkL \
  -H "Authorization: Bearer $DAMEDOKLAD_API_KEY"

The request as a PDF working paper by the lines of forms 25 5241 and 25 5246. Not the printed form

GET/v1/payroll/bonus-requests/{id}/request.pdf

The request as a PDF working paper by the lines of forms 25 5241 and 25 5246. Not the printed form

MCP tool: get-payroll-bonus-request-pdf

Path parameters

idstringrequired

Response · 200

Returns a application/pdf file.

GET/v1/payroll/bonus-requests/{id}/request.pdf
curl https://api.damedoklad.cz/v1/payroll/bonus-requests/obj_2n9F4kT7wQ1xYz0aBcDeFgHiJkL/request.pdf \
  -H "Authorization: Bearer $DAMEDOKLAD_API_KEY" \
  -o soubor

The request as an EPO file: DPZMB1 for a month, DPZDB1 for a settlement. Valid against the published XSD. With keep=true the money stays for tax due (line d), otherwise it comes back to the company's default bank account. You file it: nothing goes to the portal from here

GET/v1/payroll/bonus-requests/{id}/request.xml

The request as an EPO file: DPZMB1 for a month, DPZDB1 for a settlement. Valid against the published XSD. With keep=true the money stays for tax due (line d), otherwise it comes back to the company's default bank account. You file it: nothing goes to the portal from here

MCP tool: get-payroll-bonus-request-xml

Path parameters

idstringrequired

Query parameters

keep"true" | "false"

Response · 200

Returns a application/xml file.

GET/v1/payroll/bonus-requests/{id}/request.xml
curl https://api.damedoklad.cz/v1/payroll/bonus-requests/obj_2n9F4kT7wQ1xYz0aBcDeFgHiJkL/request.xml \
  -H "Authorization: Bearer $DAMEDOKLAD_API_KEY" \
  -o soubor

What a request for a tax bonus paid from own funds would say: for a month (§ 35d odst. 5 ZDP) or a settlement's doplatek (§ 35d odst. 9). Without a request the app takes the amount off later months' advances, until December

GET/v1/payroll/bonus-requests/preview

What a request for a tax bonus paid from own funds would say: for a month (§ 35d odst. 5 ZDP) or a settlement's doplatek (§ 35d odst. 9). Without a request the app takes the amount off later months' advances, until December

MCP tool: get-payroll-bonus-request-preview

Query parameters

kind"monthly" | "settlement"required
yearintegerrequiredmin 2000max 2100
monthintegermin 1max 12

Response · 200

kindstringrequired
yearintegerrequired
monthinteger | nullrequired
totalHalerinteger | nullrequired
fromAdvancesHalerintegerrequired
ownFundsHalerintegerrequired
paidOnnull | stringrequireddate
problemsany[]required
GET/v1/payroll/bonus-requests/preview
curl https://api.damedoklad.cz/v1/payroll/bonus-requests/preview \
  -H "Authorization: Bearer $DAMEDOKLAD_API_KEY"

Withdraw the newest amendment of a contract and put back what it changed. Refused when a locked run has used it or a later amendment stands on it

DELETE/v1/payroll/contract-amendments/{id}

Withdraw the newest amendment of a contract and put back what it changed. Refused when a locked run has used it or a later amendment stands on it

IrreversibleThis operation cannot be undone. MCP clients ask for confirmation first.

MCP tool: delete-payroll-contract-amendment

Path parameters

idstringrequired

Response · 200

idstringrequired
deletedbooleanrequired
DELETE/v1/payroll/contract-amendments/{id}
curl -X DELETE https://api.damedoklad.cz/v1/payroll/contract-amendments/obj_2n9F4kT7wQ1xYz0aBcDeFgHiJkL \
  -H "Authorization: Bearer $DAMEDOKLAD_API_KEY"

A recorded amendment as a PDF in Czech, with the values it replaced

GET/v1/payroll/contract-amendments/{id}/amendment.pdf

A recorded amendment as a PDF in Czech, with the values it replaced

MCP tool: get-payroll-contract-amendment-pdf

Path parameters

idstringrequired

Response · 200

Returns a application/pdf file.

GET/v1/payroll/contract-amendments/{id}/amendment.pdf
curl https://api.damedoklad.cz/v1/payroll/contract-amendments/obj_2n9F4kT7wQ1xYz0aBcDeFgHiJkL/amendment.pdf \
  -H "Authorization: Bearer $DAMEDOKLAD_API_KEY" \
  -o soubor

List employment contracts (HPP, DPČ, DPP). One person can hold several at once

GET/v1/payroll/contracts

List employment contracts (HPP, DPČ, DPP). One person can hold several at once

MCP tool: list-payroll-contracts

Query parameters

limitintegermin 1max 500
offsetintegermin 0max 9007199254740991
employeeIdstring
ID of the employee.
active"true" | "false"

Response · 200

dataobject[]required
object"employment_contract"required
idstringrequired
employeeIdstringrequired
typestringrequired
positionnull | stringrequired
signedOnstring | nullrequired
startDatestringrequireddate
endDatenull | stringrequireddate
endReasonstring | nullrequired
wageTypestringrequired
baseWageHalerintegerrequired
hourlyRateHalerintegerrequired
weeklyHoursMilliintegerrequired
irregularSchedulebooleanrequired
vacationHoursMilliintegerrequired
smallScopeboolean | nullrequired
averageHourlyHalerinteger | nullrequired
mealAllowancePerShiftHalerintegerrequired
mealVoucherEmployerPerShiftHalerintegerrequired
mealVoucherEmployeePerShiftHalerintegerrequired
centerIdnull | stringrequired
activityIdstring | nullrequired
projectIdstring | nullrequired
idPpvnull | stringrequired
iscoCodenull | stringrequired
employmentStatusCodestringrequired
workModeCodestringrequired
workCitynull | stringrequired
workMunicipalityCodenull | stringrequired
registeredAtstring | nullrequired
deregisteredAtstring | nullrequired
allocationMethodstringrequired
deregistrationnull | objectrequired
severanceDueboolean
endReasonCodeinteger
severanceHalerinteger
severancePaidInFullboolean
noDataReasonstring
averageNetMonthlyHalerinteger
notestring | nullrequired
employeeNamestring
qualificationnull | string
exposureNotenull | string
totalinteger
Rows that match, on all pages.
hasMorebooleanrequired
More rows follow. Ask again with offset + the number of rows received.
GET/v1/payroll/contracts
curl https://api.damedoklad.cz/v1/payroll/contracts \
  -H "Authorization: Bearer $DAMEDOKLAD_API_KEY"

Create an employment contract: type, dates, wage, work time fund, vacation entitlement

POST/v1/payroll/contracts

Create an employment contract: type, dates, wage, work time fund, vacation entitlement

MCP tool: create-payroll-contract

Request body

employeeIdstringrequired
ID of the employee.
type"hpp" | "dpc" | "dpp"required
positionstring | null
qualificationstring | null
exposureNotestring | null
signedOnstring | null
Date as YYYY-MM-DD.
startDatestringrequiredYYYY-MM-DD
Date as YYYY-MM-DD.
endDatestring | null
Date as YYYY-MM-DD.
endReasonstring | null
wageType"monthly" | "hourly"
baseWageHalerintegermin 0max 9007199254740991
Integer amount in haléře: 100 = 1 Kč.
hourlyRateHalerintegermin 0max 9007199254740991
Integer amount in haléře: 100 = 1 Kč.
weeklyHoursMilliintegermin 0max 168000
Integer thousandths: 1500 means 1.5.
irregularScheduleboolean
vacationHoursMilliintegermin 0max 9007199254740991
Integer thousandths: 1500 means 1.5.
smallScopeboolean | null
averageHourlyHalerinteger | null
Integer amount in haléře: 100 = 1 Kč.
mealAllowancePerShiftHalerintegermin 0max 9007199254740991
Integer amount in haléře: 100 = 1 Kč.
mealVoucherEmployerPerShiftHalerintegermin 0max 9007199254740991
Integer amount in haléře: 100 = 1 Kč.
mealVoucherEmployeePerShiftHalerintegermin 0max 9007199254740991
Integer amount in haléře: 100 = 1 Kč.
centerIdstring | null
ID of the center.
activityIdstring | null
ID of the activity. Find it with list-activity.
projectIdstring | null
ID of the project.
idPpvstring | null
iscoCodestring | null
employmentStatusCodestring
workModeCode"1" | "2" | "3" | "4"
workCitystring | null
workMunicipalityCodestring | null
registeredAtstring | null
deregisteredAtstring | null
deregistrationobject | null
noDataReason"2" | "3" | null
employmentKind"1" | "2"
endReasonCodeintegermin 1max 15
averageNetMonthlyHalerinteger | null
Integer amount in haléře: 100 = 1 Kč.
severanceDueboolean
severancePaidInFullboolean
severanceHalerintegermin 0max 9007199254740991
Integer amount in haléře: 100 = 1 Kč.
replacementHalerintegermin 0max 9007199254740991
Integer amount in haléře: 100 = 1 Kč.
pensionFromstring | null
Date as YYYY-MM-DD.
pensionTostring | null
Date as YYYY-MM-DD.
notestring | null

Response · 201

idstringrequired
employeeIdstringrequired
typestringrequired
positionnull | stringrequired
signedOnstring | nullrequired
startDatestringrequireddate
endDatenull | stringrequireddate
endReasonstring | nullrequired
wageTypestringrequired
baseWageHalerintegerrequired
hourlyRateHalerintegerrequired
weeklyHoursMilliintegerrequired
irregularSchedulebooleanrequired
vacationHoursMilliintegerrequired
smallScopeboolean | nullrequired
averageHourlyHalerinteger | nullrequired
mealAllowancePerShiftHalerintegerrequired
mealVoucherEmployerPerShiftHalerintegerrequired
mealVoucherEmployeePerShiftHalerintegerrequired
centerIdnull | stringrequired
activityIdstring | nullrequired
projectIdstring | nullrequired
idPpvnull | stringrequired
iscoCodenull | stringrequired
employmentStatusCodestringrequired
workModeCodestringrequired
workCitynull | stringrequired
workMunicipalityCodenull | stringrequired
registeredAtstring | nullrequired
deregisteredAtstring | nullrequired
allocationMethodstringrequired
deregistrationnull | objectrequired
severanceDueboolean
endReasonCodeinteger
severanceHalerinteger
severancePaidInFullboolean
noDataReasonstring
averageNetMonthlyHalerinteger
notestring | nullrequired
employeeNamestring
qualificationnull | string
exposureNotenull | string
POST/v1/payroll/contracts
curl -X POST https://api.damedoklad.cz/v1/payroll/contracts \
  -H "Authorization: Bearer $DAMEDOKLAD_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
  "employeeId": "yee_2n9F4kT7wQ1xYz0aBcDeFgHiJkL",
  "type": "hpp",
  "startDate": "2026-10-30"
}'

Get an employment contract

GET/v1/payroll/contracts/{id}

Get an employment contract

MCP tool: get-payroll-contract

Path parameters

idstringrequired

Response · 200

idstringrequired
employeeIdstringrequired
typestringrequired
positionnull | stringrequired
signedOnstring | nullrequired
startDatestringrequireddate
endDatenull | stringrequireddate
endReasonstring | nullrequired
wageTypestringrequired
baseWageHalerintegerrequired
hourlyRateHalerintegerrequired
weeklyHoursMilliintegerrequired
irregularSchedulebooleanrequired
vacationHoursMilliintegerrequired
smallScopeboolean | nullrequired
averageHourlyHalerinteger | nullrequired
mealAllowancePerShiftHalerintegerrequired
mealVoucherEmployerPerShiftHalerintegerrequired
mealVoucherEmployeePerShiftHalerintegerrequired
centerIdnull | stringrequired
activityIdstring | nullrequired
projectIdstring | nullrequired
idPpvnull | stringrequired
iscoCodenull | stringrequired
employmentStatusCodestringrequired
workModeCodestringrequired
workCitynull | stringrequired
workMunicipalityCodenull | stringrequired
registeredAtstring | nullrequired
deregisteredAtstring | nullrequired
allocationMethodstringrequired
deregistrationnull | objectrequired
severanceDueboolean
endReasonCodeinteger
severanceHalerinteger
severancePaidInFullboolean
noDataReasonstring
averageNetMonthlyHalerinteger
notestring | nullrequired
employeeNamestring
qualificationnull | string
exposureNotenull | string
GET/v1/payroll/contracts/{id}
curl https://api.damedoklad.cz/v1/payroll/contracts/obj_2n9F4kT7wQ1xYz0aBcDeFgHiJkL \
  -H "Authorization: Bearer $DAMEDOKLAD_API_KEY"

Update an employment contract. Locked payroll runs keep the values they were calculated with

PATCH/v1/payroll/contracts/{id}

Update an employment contract. Locked payroll runs keep the values they were calculated with

MCP tool: update-payroll-contract

Path parameters

idstringrequired

Request body

type"hpp" | "dpc" | "dpp"
positionstring | null
qualificationstring | null
exposureNotestring | null
signedOnstring | null
Date as YYYY-MM-DD.
startDatestringYYYY-MM-DD
Date as YYYY-MM-DD.
endDatestring | null
Date as YYYY-MM-DD.
endReasonstring | null
wageType"monthly" | "hourly"
baseWageHalerintegermin 0max 9007199254740991
Integer amount in haléře: 100 = 1 Kč.
hourlyRateHalerintegermin 0max 9007199254740991
Integer amount in haléře: 100 = 1 Kč.
weeklyHoursMilliintegermin 0max 168000
Integer thousandths: 1500 means 1.5.
irregularScheduleboolean
vacationHoursMilliintegermin 0max 9007199254740991
Integer thousandths: 1500 means 1.5.
smallScopeboolean | null
averageHourlyHalerinteger | null
Integer amount in haléře: 100 = 1 Kč.
mealAllowancePerShiftHalerintegermin 0max 9007199254740991
Integer amount in haléře: 100 = 1 Kč.
mealVoucherEmployerPerShiftHalerintegermin 0max 9007199254740991
Integer amount in haléře: 100 = 1 Kč.
mealVoucherEmployeePerShiftHalerintegermin 0max 9007199254740991
Integer amount in haléře: 100 = 1 Kč.
centerIdstring | null
ID of the center.
activityIdstring | null
ID of the activity. Find it with list-activity.
projectIdstring | null
ID of the project.
idPpvstring | null
iscoCodestring | null
employmentStatusCodestring
workModeCode"1" | "2" | "3" | "4"
workCitystring | null
workMunicipalityCodestring | null
registeredAtstring | null
deregisteredAtstring | null
deregistrationobject | null
noDataReason"2" | "3" | null
employmentKind"1" | "2"
endReasonCodeintegermin 1max 15
averageNetMonthlyHalerinteger | null
Integer amount in haléře: 100 = 1 Kč.
severanceDueboolean
severancePaidInFullboolean
severanceHalerintegermin 0max 9007199254740991
Integer amount in haléře: 100 = 1 Kč.
replacementHalerintegermin 0max 9007199254740991
Integer amount in haléře: 100 = 1 Kč.
pensionFromstring | null
Date as YYYY-MM-DD.
pensionTostring | null
Date as YYYY-MM-DD.
notestring | null

Response · 200

idstringrequired
employeeIdstringrequired
typestringrequired
positionnull | stringrequired
signedOnstring | nullrequired
startDatestringrequireddate
endDatenull | stringrequireddate
endReasonstring | nullrequired
wageTypestringrequired
baseWageHalerintegerrequired
hourlyRateHalerintegerrequired
weeklyHoursMilliintegerrequired
irregularSchedulebooleanrequired
vacationHoursMilliintegerrequired
smallScopeboolean | nullrequired
averageHourlyHalerinteger | nullrequired
mealAllowancePerShiftHalerintegerrequired
mealVoucherEmployerPerShiftHalerintegerrequired
mealVoucherEmployeePerShiftHalerintegerrequired
centerIdnull | stringrequired
activityIdstring | nullrequired
projectIdstring | nullrequired
idPpvnull | stringrequired
iscoCodenull | stringrequired
employmentStatusCodestringrequired
workModeCodestringrequired
workCitynull | stringrequired
workMunicipalityCodenull | stringrequired
registeredAtstring | nullrequired
deregisteredAtstring | nullrequired
allocationMethodstringrequired
deregistrationnull | objectrequired
severanceDueboolean
endReasonCodeinteger
severanceHalerinteger
severancePaidInFullboolean
noDataReasonstring
averageNetMonthlyHalerinteger
notestring | nullrequired
employeeNamestring
qualificationnull | string
exposureNotenull | string
PATCH/v1/payroll/contracts/{id}
curl -X PATCH https://api.damedoklad.cz/v1/payroll/contracts/obj_2n9F4kT7wQ1xYz0aBcDeFgHiJkL \
  -H "Authorization: Bearer $DAMEDOKLAD_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
  "type": "hpp",
  "position": "string",
  "qualification": "string"
}'

Delete a contract that has never been paid

DELETE/v1/payroll/contracts/{id}

Delete a contract that has never been paid

IrreversibleThis operation cannot be undone. MCP clients ask for confirmation first.

MCP tool: delete-payroll-contract

Path parameters

idstringrequired

Response · 200

idstringrequired
deletedbooleanrequired
DELETE/v1/payroll/contracts/{id}
curl -X DELETE https://api.damedoklad.cz/v1/payroll/contracts/obj_2n9F4kT7wQ1xYz0aBcDeFgHiJkL \
  -H "Authorization: Bearer $DAMEDOKLAD_API_KEY"

How a contract's wage is split across cost centers, activities, and projects

GET/v1/payroll/contracts/{id}/allocation

How a contract's wage is split across cost centers, activities, and projects

MCP tool: get-payroll-cost-allocation

Path parameters

idstringrequired

Response · 200

contractIdstringrequired
methodnull | stringrequired
rowsobject[]required
idstringrequired
centerIdnull | stringrequired
activityIdstring | nullrequired
projectIdnull | stringrequired
shareBpintegerrequired
GET/v1/payroll/contracts/{id}/allocation
curl https://api.damedoklad.cz/v1/payroll/contracts/obj_2n9F4kT7wQ1xYz0aBcDeFgHiJkL/allocation \
  -H "Authorization: Bearer $DAMEDOKLAD_API_KEY"

Split a contract's wage: fixed percentages that add up to 100 %, hours from each month's attendance, or the contract's own dimensions

PUT/v1/payroll/contracts/{id}/allocation

Split a contract's wage: fixed percentages that add up to 100 %, hours from each month's attendance, or the contract's own dimensions

MCP tool: replace-payroll-cost-allocation

Path parameters

idstringrequired

Request body

method"default" | "fixed" | "attendance"required
rowsobject[]
centerIdstring | null
ID of the center.
activityIdstring | null
ID of the activity. Find it with list-activity.
projectIdstring | null
ID of the project.
shareBpintegerrequiredmin 1max 10000

Response · 200

contractIdstringrequired
methodnull | stringrequired
rowsobject[]required
idstringrequired
centerIdnull | stringrequired
activityIdstring | nullrequired
projectIdnull | stringrequired
shareBpintegerrequired
PUT/v1/payroll/contracts/{id}/allocation
curl -X PUT https://api.damedoklad.cz/v1/payroll/contracts/obj_2n9F4kT7wQ1xYz0aBcDeFgHiJkL/allocation \
  -H "Authorization: Bearer $DAMEDOKLAD_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
  "method": "default"
}'

Amendment to a contract as a PDF template in Czech (§ 40 of the Labour Code): what changes and from when. This paper alone changes nothing in the app: POST /payroll/contracts/:id/amendments records it on the contract

GET/v1/payroll/contracts/{id}/amendment.pdf

Amendment to a contract as a PDF template in Czech (§ 40 of the Labour Code): what changes and from when. This paper alone changes nothing in the app: POST /payroll/contracts/:id/amendments records it on the contract

MCP tool: get-payroll-amendment-pdf

Path parameters

idstringrequired

Query parameters

effectiveFromstringYYYY-MM-DD
Date as YYYY-MM-DD.
positionstringmax 200 chars
workCitystringmax 200 chars
baseWageHalerintegermax 9007199254740991
Integer amount in haléře: 100 = 1 Kč.
hourlyRateHalerintegermax 9007199254740991
Integer amount in haléře: 100 = 1 Kč.
weeklyHoursMilliintegermax 60000
Integer thousandths: 1500 means 1.5.
endDatestringYYYY-MM-DD
Date as YYYY-MM-DD.

Response · 200

Returns a application/pdf file.

GET/v1/payroll/contracts/{id}/amendment.pdf
curl https://api.damedoklad.cz/v1/payroll/contracts/obj_2n9F4kT7wQ1xYz0aBcDeFgHiJkL/amendment.pdf \
  -H "Authorization: Bearer $DAMEDOKLAD_API_KEY" \
  -o soubor

Amendments recorded on a contract, newest first

GET/v1/payroll/contracts/{id}/amendments

Amendments recorded on a contract, newest first

MCP tool: list-payroll-contract-amendments

Path parameters

idstringrequired

Query parameters

limitintegermin 1max 500
offsetintegermin 0max 9007199254740991
searchstringmax 200 chars

Response · 200

dataobject[]required
object"payroll_contract_amendment"required
idstringrequired
contractIdstringrequired
effectiveFromstringrequireddate
signedOnnull | stringrequireddate
changesobjectrequired
positionnull | string
baseWageHalerinteger
workCitynull | string
beforeobjectrequired
positionnull | string
baseWageHalerinteger
workCitynull | string
statusstringrequired
totalinteger
Rows that match, on all pages.
hasMorebooleanrequired
More rows follow. Ask again with offset + the number of rows received.
GET/v1/payroll/contracts/{id}/amendments
curl https://api.damedoklad.cz/v1/payroll/contracts/obj_2n9F4kT7wQ1xYz0aBcDeFgHiJkL/amendments \
  -H "Authorization: Bearer $DAMEDOKLAD_API_KEY"

Record an amendment (§ 40 of the Labour Code) and change the contract: at once when it is due, otherwise on its date. Runs of earlier months keep the old values. A change of wage or hours may start on any day: that month is paid pro rata, each part by the wage and hours it had. A locked run from that date on blocks it

POST/v1/payroll/contracts/{id}/amendments

Record an amendment (§ 40 of the Labour Code) and change the contract: at once when it is due, otherwise on its date. Runs of earlier months keep the old values. A change of wage or hours may start on any day: that month is paid pro rata, each part by the wage and hours it had. A locked run from that date on blocks it

MCP tool: create-payroll-contract-amendment

Path parameters

idstringrequired

Request body

effectiveFromstringrequiredYYYY-MM-DD
Date as YYYY-MM-DD.
signedOnstringYYYY-MM-DD
Date as YYYY-MM-DD.
positionstringmax 200 chars
workCitystringmax 200 chars
baseWageHalerintegermin 0max 9007199254740991
Integer amount in haléře: 100 = 1 Kč.
hourlyRateHalerintegermin 0max 9007199254740991
Integer amount in haléře: 100 = 1 Kč.
weeklyHoursMilliintegermax 60000
Integer thousandths: 1500 means 1.5.
endDatestringYYYY-MM-DD
Date as YYYY-MM-DD.

Response · 201

idstringrequired
contractIdstringrequired
effectiveFromstringrequireddate
signedOnnull | stringrequireddate
changesobjectrequired
positionnull | string
baseWageHalerinteger
workCitynull | string
beforeobjectrequired
positionnull | string
baseWageHalerinteger
workCitynull | string
statusstringrequired
POST/v1/payroll/contracts/{id}/amendments
curl -X POST https://api.damedoklad.cz/v1/payroll/contracts/obj_2n9F4kT7wQ1xYz0aBcDeFgHiJkL/amendments \
  -H "Authorization: Bearer $DAMEDOKLAD_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
  "effectiveFrom": "2026-10-30"
}'

Employment contract, or the DPP or DPČ agreement, as a PDF template in Czech with what § 34, § 37, § 75, § 76 and § 77a of the Labour Code require. A probation period up to 4 months, 8 for a manager (§ 35)

GET/v1/payroll/contracts/{id}/contract.pdf

Employment contract, or the DPP or DPČ agreement, as a PDF template in Czech with what § 34, § 37, § 75, § 76 and § 77a of the Labour Code require. A probation period up to 4 months, 8 for a manager (§ 35)

MCP tool: get-payroll-contract-pdf

Path parameters

idstringrequired

Query parameters

probationMonthsintegermin 1max 8
managerial"true" | "false"

Response · 200

Returns a application/pdf file.

GET/v1/payroll/contracts/{id}/contract.pdf
curl https://api.damedoklad.cz/v1/payroll/contracts/obj_2n9F4kT7wQ1xYz0aBcDeFgHiJkL/contract.pdf \
  -H "Authorization: Bearer $DAMEDOKLAD_API_KEY" \
  -o soubor

What is still missing before the přihláška or odhláška of a contract can be exported

GET/v1/payroll/contracts/{id}/registration

What is still missing before the přihláška or odhláška of a contract can be exported

MCP tool: check-payroll-registration

Path parameters

idstringrequired

Query parameters

action"start" | "end"required
schemaVersion"1.4" | "1.5"

Response · 200

actionstringrequired
averageNetHalerinteger | nullrequired
problemsstring[]required
GET/v1/payroll/contracts/{id}/registration
curl https://api.damedoklad.cz/v1/payroll/contracts/obj_2n9F4kT7wQ1xYz0aBcDeFgHiJkL/registration \
  -H "Authorization: Bearer $DAMEDOKLAD_API_KEY"

Přihláška or odhláška of an employee as PDF

GET/v1/payroll/contracts/{id}/registration.pdf

Přihláška or odhláška of an employee as PDF

MCP tool: get-payroll-registration-pdf

Path parameters

idstringrequired

Query parameters

action"start" | "end"required
schemaVersion"1.4" | "1.5"

Response · 200

Returns a application/pdf file.

GET/v1/payroll/contracts/{id}/registration.pdf
curl https://api.damedoklad.cz/v1/payroll/contracts/obj_2n9F4kT7wQ1xYz0aBcDeFgHiJkL/registration.pdf \
  -H "Authorization: Bearer $DAMEDOKLAD_API_KEY" \
  -o soubor

Export a přihláška (start) or odhláška (end) of an employee as XML, which replaced the ONZ form from April 2026: REGZEC 1.4.0.4, or REGZEC27 1.5 from 1 January 2027 or when asked for by `schemaVersion`. An odhláška carries the data for unemployment support

GET/v1/payroll/contracts/{id}/registration.xml

Export a přihláška (start) or odhláška (end) of an employee as XML, which replaced the ONZ form from April 2026: REGZEC 1.4.0.4, or REGZEC27 1.5 from 1 January 2027 or when asked for by `schemaVersion`. An odhláška carries the data for unemployment support

MCP tool: get-payroll-registration-xml

Path parameters

idstringrequired

Query parameters

action"start" | "end"required
schemaVersion"1.4" | "1.5"

Response · 200

Returns a application/xml file.

GET/v1/payroll/contracts/{id}/registration.xml
curl https://api.damedoklad.cz/v1/payroll/contracts/obj_2n9F4kT7wQ1xYz0aBcDeFgHiJkL/registration.xml \
  -H "Authorization: Bearer $DAMEDOKLAD_API_KEY" \
  -o soubor

Potvrzení o zaměstnání, the zápočtový list, as a PDF in Czech with the points of § 313 odst. 1 of the Labour Code, for a job that has ended

GET/v1/payroll/contracts/{id}/service-confirmation.pdf

Potvrzení o zaměstnání, the zápočtový list, as a PDF in Czech with the points of § 313 odst. 1 of the Labour Code, for a job that has ended

MCP tool: get-payroll-service-confirmation-pdf

Path parameters

idstringrequired

Response · 200

Returns a application/pdf file.

GET/v1/payroll/contracts/{id}/service-confirmation.pdf
curl https://api.damedoklad.cz/v1/payroll/contracts/obj_2n9F4kT7wQ1xYz0aBcDeFgHiJkL/service-confirmation.pdf \
  -H "Authorization: Bearer $DAMEDOKLAD_API_KEY" \
  -o soubor

NEMPRI25: the employer's attachment to a benefit claim for any of the six kinds (NEM, OSE, VPM, PPM, OPP, DLO), with the reckoning period from locked runs. Valid against the official XSD; ČSSZ's logical checks are partly reproduced

POST/v1/payroll/contracts/{id}/sick-benefit.xml

NEMPRI25: the employer's attachment to a benefit claim for any of the six kinds (NEM, OSE, VPM, PPM, OPP, DLO), with the reckoning period from locked runs. Valid against the official XSD; ČSSZ's logical checks are partly reproduced

MCP tool: create-payroll-sick-benefit-xml

Path parameters

idstringrequired

Request body

kind"NEM" | "OSE" | "VPM" | "PPM" | "OPP" | "DLO"required
eventDatestringrequiredYYYY-MM-DD
Date as YYYY-MM-DD.
decisionNumberstringmax 18 chars
correctionboolean
probableIncomeHalerinteger | null
Integer amount in haléře: 100 = 1 Kč.
detailobjectrequired
workedboolean
workedHoursnumbermin 0max 24
scheduleHoursnumbermin 0max 24
smallScopeIncomeintegermin 0max 9007199254740991
studentboolean
holidaysboolean
pensionerboolean
pensionType"A" | "B" | "C" | "I1" | "I3" | "S"
firstJobLeaveboolean
unpaidLeaveboolean
unpaidLeaveFromstringYYYY-MM-DD
Date as YYYY-MM-DD.
unpaidLeaveTostringYYYY-MM-DD
Date as YYYY-MM-DD.
transferredboolean
transferredOnstringYYYY-MM-DD
Date as YYYY-MM-DD.
startsMaternityboolean
childBirthDatestringYYYY-MM-DD
Date as YYYY-MM-DD.
attachmentboolean
insolvencyboolean
stage"start" | "continues" | "end"
paymentobject
lastDayScheduleHoursnumbermin 0max 24
lastDayWorkedHoursnumbermin 0max 24
plannedShiftsboolean
plannedShiftsWorkedboolean
returnedOnstringYYYY-MM-DD
Date as YYYY-MM-DD.
workedDaysobject[]
fromstringrequiredYYYY-MM-DD
Date as YYYY-MM-DD.
tostringrequiredYYYY-MM-DD
Date as YYYY-MM-DD.
leaveboolean
leaveDaysobject[]
fromstringrequiredYYYY-MM-DD
Date as YYYY-MM-DD.
tostringrequiredYYYY-MM-DD
Date as YYYY-MM-DD.
claimobject
fromstringYYYY-MM-DD
Date as YYYY-MM-DD.
tostringYYYY-MM-DD
Date as YYYY-MM-DD.
personobject
firstNamestringrequiredmax 200 chars
lastNamestringrequiredmax 200 chars
birthNumberstring | null
birthDatestring | null
Date as YYYY-MM-DD.
takeoverReason"DOH" | "ONE" | "ROZ" | "UMR"
childrenobject[]
firstNamestringrequiredmax 200 chars
lastNamestringrequiredmax 200 chars
birthNumberstring | null
birthDatestring | null
Date as YYYY-MM-DD.
paternityReason"OTC" | "ZEM" | "PEC"
childobject
firstNamestringrequiredmax 200 chars
lastNamestringrequiredmax 200 chars
birthNumberstring | null
birthDatestring | null
Date as YYYY-MM-DD.
relationCodestring
alternatingboolean
caredPersonallyboolean
caredDaysobject[]
fromstringrequiredYYYY-MM-DD
Date as YYYY-MM-DD.
tostringrequiredYYYY-MM-DD
Date as YYYY-MM-DD.
reason"ill" | "quarantine" | "carer_unable" | "school_closed"
schoolNamestring | null
schoolIcostring
Czech company number (IČO), 8 digits.
sameHouseholdboolean
singleParentboolean
caresForChildUnder16boolean
maternityByOtherboolean

Response · 200

Returns a application/xml file.

POST/v1/payroll/contracts/{id}/sick-benefit.xml
curl -X POST https://api.damedoklad.cz/v1/payroll/contracts/obj_2n9F4kT7wQ1xYz0aBcDeFgHiJkL/sick-benefit.xml \
  -H "Authorization: Bearer $DAMEDOKLAD_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
  "kind": "NEM",
  "eventDate": "2026-10-30",
  "detail": {
    "worked": false,
    "workedHours": 0,
    "scheduleHours": 0
  }
}' \
  -o soubor

Confirmation for the Úřad práce (§ 313 odst. 2 of the Labour Code) as a PDF with the data of its form S 15: the job, the average monthly net earnings by § 356 odst. 3, and how it ended

GET/v1/payroll/contracts/{id}/unemployment-confirmation.pdf

Confirmation for the Úřad práce (§ 313 odst. 2 of the Labour Code) as a PDF with the data of its form S 15: the job, the average monthly net earnings by § 356 odst. 3, and how it ended

MCP tool: get-payroll-unemployment-confirmation-pdf

Path parameters

idstringrequired

Query parameters

reason"serious_breach" | "sick_regime" | "organizational" | "health" | "employer_breach" | "employee" | "agreement"
reasonTextstringmax 200 chars
averageNetMonthlyHalerintegermin 0max 9007199254740991
Integer amount in haléře: 100 = 1 Kč.

Response · 200

Returns a application/pdf file.

GET/v1/payroll/contracts/{id}/unemployment-confirmation.pdf
curl https://api.damedoklad.cz/v1/payroll/contracts/obj_2n9F4kT7wQ1xYz0aBcDeFgHiJkL/unemployment-confirmation.pdf \
  -H "Authorization: Bearer $DAMEDOKLAD_API_KEY" \
  -o soubor

Mzdový výměr as a PDF in Czech (§ 113 odst. 4 of the Labour Code): how the employee is paid, when, and where

GET/v1/payroll/contracts/{id}/wage-notice.pdf

Mzdový výměr as a PDF in Czech (§ 113 odst. 4 of the Labour Code): how the employee is paid, when, and where

MCP tool: get-payroll-wage-notice-pdf

Path parameters

idstringrequired

Query parameters

validFromstringYYYY-MM-DD
Date as YYYY-MM-DD.

Response · 200

Returns a application/pdf file.

GET/v1/payroll/contracts/{id}/wage-notice.pdf
curl https://api.damedoklad.cz/v1/payroll/contracts/obj_2n9F4kT7wQ1xYz0aBcDeFgHiJkL/wage-notice.pdf \
  -H "Authorization: Bearer $DAMEDOKLAD_API_KEY" \
  -o soubor

List tax declaration changes handed in by employees, newest first

GET/v1/payroll/declaration-changes

List tax declaration changes handed in by employees, newest first

MCP tool: list-payroll-declaration-changes

Query parameters

limitintegermin 1max 500
offsetintegermin 0max 9007199254740991
searchstringmax 200 chars
fromstringYYYY-MM-DD
Date as YYYY-MM-DD.
tostringYYYY-MM-DD
Date as YYYY-MM-DD.
status"pending" | "approved" | "rejected"

Response · 200

dataobject[]required
object"payroll_declaration_change"required
idstringrequired
employeeIdstringrequired
employeeNamestring
statusstringrequired
submittedAtstringrequireddate-time
decidedAtnull | stringrequireddate-time
decisionNotenull | stringrequired
changeobjectrequired
ztppboolean
addChildrenobject[]
firstNamenull | stringrequired
lastNamenull | stringrequired
birthNumberstring
birthDatenull | stringrequireddate
birthNumberMaskednull | string
requestSettlementYearinteger
disabilitystring
totalinteger
Rows that match, on all pages.
hasMorebooleanrequired
More rows follow. Ask again with offset + the number of rows received.
GET/v1/payroll/declaration-changes
curl https://api.damedoklad.cz/v1/payroll/declaration-changes \
  -H "Authorization: Bearer $DAMEDOKLAD_API_KEY"

Apply a declaration change to the personal card. A child counts from the month after the change was handed in, a newborn from the month of birth (§ 38k ZDP). A request for the annual settlement starts one

POST/v1/payroll/declaration-changes/{id}/approve

Apply a declaration change to the personal card. A child counts from the month after the change was handed in, a newborn from the month of birth (§ 38k ZDP). A request for the annual settlement starts one

MCP tool: approve-payroll-declaration-change

Path parameters

idstringrequired

Request body

notestring | null

Response · 200

idstringrequired
employeeIdstringrequired
employeeNamestring
statusstringrequired
submittedAtstringrequireddate-time
decidedAtnull | stringrequireddate-time
decisionNotenull | stringrequired
changeobjectrequired
ztppboolean
addChildrenobject[]
firstNamenull | stringrequired
lastNamenull | stringrequired
birthNumberstring
birthDatenull | stringrequireddate
birthNumberMaskednull | string
requestSettlementYearinteger
disabilitystring
POST/v1/payroll/declaration-changes/{id}/approve
curl -X POST https://api.damedoklad.cz/v1/payroll/declaration-changes/obj_2n9F4kT7wQ1xYz0aBcDeFgHiJkL/approve \
  -H "Authorization: Bearer $DAMEDOKLAD_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
  "note": "string"
}'

Turn down a declaration change. Nothing on the personal card changes

POST/v1/payroll/declaration-changes/{id}/reject

Turn down a declaration change. Nothing on the personal card changes

MCP tool: reject-payroll-declaration-change

Path parameters

idstringrequired

Request body

notestring | null

Response · 200

idstringrequired
employeeIdstringrequired
employeeNamestring
statusstringrequired
submittedAtstringrequireddate-time
decidedAtnull | stringrequireddate-time
decisionNotenull | stringrequired
changeobjectrequired
ztppboolean
addChildrenobject[]
firstNamenull | stringrequired
lastNamenull | stringrequired
birthNumberstring
birthDatenull | stringrequireddate
birthNumberMaskednull | string
requestSettlementYearinteger
disabilitystring
POST/v1/payroll/declaration-changes/{id}/reject
curl -X POST https://api.damedoklad.cz/v1/payroll/declaration-changes/obj_2n9F4kT7wQ1xYz0aBcDeFgHiJkL/reject \
  -H "Authorization: Bearer $DAMEDOKLAD_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
  "note": "string"
}'

List wage deductions: attachments of earnings, agreements, advances

GET/v1/payroll/deductions

List wage deductions: attachments of earnings, agreements, advances

MCP tool: list-payroll-deductions

Query parameters

limitintegermin 1max 500
offsetintegermin 0max 9007199254740991
searchstringmax 200 chars
fromstringYYYY-MM-DD
Date as YYYY-MM-DD.
tostringYYYY-MM-DD
Date as YYYY-MM-DD.
employeeIdstring
ID of the employee.

Response · 200

dataobject[]required
object"payroll_deduction"required
idstringrequired
employeeIdstringrequired
kindstringrequired
namestringrequired
amountHalerintegerrequired
remainingHalerinteger | nullrequired
receivedOnnull | stringrequireddate
accountNumbernull | stringrequired
variableSymbolnull | stringrequired
specificSymbolstring | nullrequired
isActivebooleanrequired
notenull | stringrequired
totalinteger
Rows that match, on all pages.
hasMorebooleanrequired
More rows follow. Ask again with offset + the number of rows received.
GET/v1/payroll/deductions
curl https://api.damedoklad.cz/v1/payroll/deductions \
  -H "Authorization: Bearer $DAMEDOKLAD_API_KEY"

Add a wage deduction. Attachments are limited by the protected amount each month

POST/v1/payroll/deductions

Add a wage deduction. Attachments are limited by the protected amount each month

MCP tool: create-payroll-deduction

Request body

employeeIdstringrequired
ID of the employee.
kind"attachment_priority" | "attachment_other" | "agreement" | "advance" | "other"required
namestringrequiredmax 200 chars
amountHalerintegermin 0max 9007199254740991
Integer amount in haléře: 100 = 1 Kč.
remainingHalerinteger | null
Integer amount in haléře: 100 = 1 Kč.
receivedOnstring | null
Date as YYYY-MM-DD.
accountNumberstring | null
Account number from the chart of accounts, for example 311. list-accounts lists them.
variableSymbolstring | null
specificSymbolstring | null
isActiveboolean
notestring | null

Response · 201

idstringrequired
employeeIdstringrequired
kindstringrequired
namestringrequired
amountHalerintegerrequired
remainingHalerinteger | nullrequired
receivedOnnull | stringrequireddate
accountNumbernull | stringrequired
variableSymbolnull | stringrequired
specificSymbolstring | nullrequired
isActivebooleanrequired
notenull | stringrequired
POST/v1/payroll/deductions
curl -X POST https://api.damedoklad.cz/v1/payroll/deductions \
  -H "Authorization: Bearer $DAMEDOKLAD_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
  "employeeId": "yee_2n9F4kT7wQ1xYz0aBcDeFgHiJkL",
  "kind": "attachment_priority",
  "name": "Pekárna U Lípy s.r.o."
}'

Update a wage deduction

PATCH/v1/payroll/deductions/{id}

Update a wage deduction

MCP tool: update-payroll-deduction

Path parameters

idstringrequired

Request body

kind"attachment_priority" | "attachment_other" | "agreement" | "advance" | "other"
namestringmax 200 chars
amountHalerintegermin 0max 9007199254740991
Integer amount in haléře: 100 = 1 Kč.
remainingHalerinteger | null
Integer amount in haléře: 100 = 1 Kč.
receivedOnstring | null
Date as YYYY-MM-DD.
accountNumberstring | null
Account number from the chart of accounts, for example 311. list-accounts lists them.
variableSymbolstring | null
specificSymbolstring | null
isActiveboolean
notestring | null

Response · 200

idstringrequired
employeeIdstringrequired
kindstringrequired
namestringrequired
amountHalerintegerrequired
remainingHalerinteger | nullrequired
receivedOnnull | stringrequireddate
accountNumbernull | stringrequired
variableSymbolnull | stringrequired
specificSymbolstring | nullrequired
isActivebooleanrequired
notenull | stringrequired
PATCH/v1/payroll/deductions/{id}
curl -X PATCH https://api.damedoklad.cz/v1/payroll/deductions/obj_2n9F4kT7wQ1xYz0aBcDeFgHiJkL \
  -H "Authorization: Bearer $DAMEDOKLAD_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
  "kind": "attachment_priority",
  "name": "Pekárna U Lípy s.r.o.",
  "amountHaler": 1210000
}'

Delete a wage deduction

DELETE/v1/payroll/deductions/{id}

Delete a wage deduction

IrreversibleThis operation cannot be undone. MCP clients ask for confirmation first.

MCP tool: delete-payroll-deduction

Path parameters

idstringrequired

Response · 200

idstringrequired
deletedbooleanrequired
DELETE/v1/payroll/deductions/{id}
curl -X DELETE https://api.damedoklad.cz/v1/payroll/deductions/obj_2n9F4kT7wQ1xYz0aBcDeFgHiJkL \
  -H "Authorization: Bearer $DAMEDOKLAD_API_KEY"

The wording of the personnel documents this company can change, with the default of each passage and what each has to keep. Rows the law requires are written by the app and are not here

GET/v1/payroll/document-templates

The wording of the personnel documents this company can change, with the default of each passage and what each has to keep. Rows the law requires are written by the app and are not here

MCP tool: list-payroll-document-templates

Query parameters

limitintegermin 1max 500
offsetintegermin 0max 9007199254740991
searchstringmax 200 chars

Response · 200

dataobject[]required
object"payroll_document_template"required
kindstringrequired
labelnull | stringrequired
customizedbooleanrequired
placeholdersstring[]required
blocksobject[]required
keystringrequired
labelnull | stringrequired
defaultTextstringrequired
textstringrequired
placeholdersstring[]required
mentionsstring[]required
extraSectionsobject[]required
textstringrequired
headingstringrequired
totalinteger
Rows that match, on all pages.
hasMorebooleanrequired
More rows follow. Ask again with offset + the number of rows received.
GET/v1/payroll/document-templates
curl https://api.damedoklad.cz/v1/payroll/document-templates \
  -H "Authorization: Bearer $DAMEDOKLAD_API_KEY"

Save a company's wording of one document and its own extra sections. Refused with the reasons when a passage drops what it has to keep, is empty, or names a figure the app does not know

PUT/v1/payroll/document-templates/{kind}

Save a company's wording of one document and its own extra sections. Refused with the reasons when a passage drops what it has to keep, is empty, or names a figure the app does not know

MCP tool: save-payroll-document-template

Path parameters

kindstringrequired

Request body

blocksobject
extraSectionsobject[]
headingstringrequiredmax 200 chars
textstringrequiredmax 4000 chars

Response · 200

kindstringrequired
labelnull | stringrequired
customizedbooleanrequired
placeholdersstring[]required
blocksobject[]required
keystringrequired
labelnull | stringrequired
defaultTextstringrequired
textstringrequired
placeholdersstring[]required
mentionsstring[]required
extraSectionsobject[]required
textstringrequired
headingstringrequired
PUT/v1/payroll/document-templates/{kind}
curl -X PUT https://api.damedoklad.cz/v1/payroll/document-templates/obj_2n9F4kT7wQ1xYz0aBcDeFgHiJkL \
  -H "Authorization: Bearer $DAMEDOKLAD_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
  "blocks": {},
  "extraSections": [
    {
      "heading": "string",
      "text": "string"
    }
  ]
}'

Go back to the app's wording of one document

DELETE/v1/payroll/document-templates/{kind}

Go back to the app's wording of one document

IrreversibleThis operation cannot be undone. MCP clients ask for confirmation first.

MCP tool: reset-payroll-document-template

Path parameters

kindstringrequired

Response · 200

kindstringrequired
labelnull | stringrequired
customizedbooleanrequired
placeholdersstring[]required
blocksobject[]required
keystringrequired
labelnull | stringrequired
defaultTextstringrequired
textstringrequired
placeholdersstring[]required
mentionsstring[]required
extraSectionsobject[]required
textstringrequired
headingstringrequired
DELETE/v1/payroll/document-templates/{kind}
curl -X DELETE https://api.damedoklad.cz/v1/payroll/document-templates/obj_2n9F4kT7wQ1xYz0aBcDeFgHiJkL \
  -H "Authorization: Bearer $DAMEDOKLAD_API_KEY"

List employees. Rodné číslo and bank account are masked here

GET/v1/payroll/employees

List employees. Rodné číslo and bank account are masked here

MCP tool: list-payroll-employees

Query parameters

limitintegermin 1max 500
offsetintegermin 0max 9007199254740991
searchstringmax 200 chars
status"active" | "inactive"

Response · 200

dataobject[]required
object"employee"required
idstringrequired
namenull | stringrequired
firstNamestringrequired
lastNamestringrequired
titlestring | nullrequired
birthNamestring | nullrequired
birthNumberMaskednull | stringrequired
birthDatenull | stringrequireddate
birthPlacenull | stringrequired
gendernull | stringrequired
citizenshipstringrequired
streetnull | stringrequired
houseNumbernull | stringrequired
orientationNumberstring | nullrequired
citynull | stringrequired
postalCodenull | stringrequired
countrystringrequired
emailnull | stringrequired
phonestring | nullrequired
bankAccountMaskednull | stringrequired
protectedAccountSourceIdnull | stringrequired
protectedAccountConfirmedOnnull | stringrequireddate
healthInsurerCodenull | stringrequired
healthInsurerNamenull | stringrequired
disabilitystringrequired
ztppbooleanrequired
ztpbooleanrequired
pensionerbooleanrequired
pensionerDiscountFromnull | stringrequireddate
studentbooleanrequired
studentUntilstring | nullrequired
stateInsuredbooleanrequired
selfEmployedMinimumbooleanrequired
otherEmployerMinimumbooleanrequired
employerDiscountGroupnull | stringrequired
employerDiscountNotifiedbooleanrequired
hasDeclarationbooleanrequired
declarationSignedOnnull | stringrequireddate
dependentsintegerrequired
ikMpsvnull | stringrequired
educationCodestring | nullrequired
studentCreditbooleanrequired
doctoralStudentbooleanrequired
taxNonResidentbooleanrequired
foreignTaxIdnull | stringrequired
foreignTaxIdTypenull | stringrequired
identityDocumentNumbernull | stringrequired
identityDocumentTypenull | stringrequired
identityDocumentCountrynull | stringrequired
statusstringrequired
notestring | nullrequired
contractsobject[]
object"employment_contract"required
idstringrequired
employeeIdstringrequired
typestringrequired
positionnull | stringrequired
signedOnstring | nullrequired
startDatestringrequireddate
endDatenull | stringrequireddate
endReasonstring | nullrequired
wageTypestringrequired
baseWageHalerintegerrequired
hourlyRateHalerintegerrequired
weeklyHoursMilliintegerrequired
irregularSchedulebooleanrequired
vacationHoursMilliintegerrequired
smallScopeboolean | nullrequired
averageHourlyHalerinteger | nullrequired
mealAllowancePerShiftHalerintegerrequired
mealVoucherEmployerPerShiftHalerintegerrequired
mealVoucherEmployeePerShiftHalerintegerrequired
centerIdnull | stringrequired
activityIdstring | nullrequired
projectIdstring | nullrequired
idPpvnull | stringrequired
iscoCodenull | stringrequired
employmentStatusCodestringrequired
workModeCodestringrequired
workCitynull | stringrequired
workMunicipalityCodenull | stringrequired
registeredAtstring | nullrequired
deregisteredAtstring | nullrequired
allocationMethodstringrequired
deregistrationnull | objectrequired
severanceDueboolean
endReasonCodeinteger
severanceHalerinteger
severancePaidInFullboolean
noDataReasonstring
averageNetMonthlyHalerinteger
notestring | nullrequired
employeeNamestring
qualificationnull | string
exposureNotenull | string
onboardingobject
personalbooleanrequired
insurerbooleanrequired
bankbooleanrequired
contractbooleanrequired
declarationbooleanrequired
registeredbooleanrequired
childrenOtherPersonnull | object
lastNamestringrequired
birthDatenull | stringrequireddate
firstNamestringrequired
birthNumberMaskednull | stringrequired
birthNumbernull | string
bankAccountnull | string
childrenobject[]
object"employee_child"required
idstringrequired
firstNamenull | stringrequired
lastNamenull | stringrequired
birthNumbernull | stringrequired
birthNumberMaskednull | stringrequired
birthDatenull | stringrequireddate
ztppbooleanrequired
claimFromnull | stringrequireddate
claimTonull | stringrequireddate
positioninteger | nullrequired
totalinteger
Rows that match, on all pages.
hasMorebooleanrequired
More rows follow. Ask again with offset + the number of rows received.
GET/v1/payroll/employees
curl https://api.damedoklad.cz/v1/payroll/employees \
  -H "Authorization: Bearer $DAMEDOKLAD_API_KEY"

Create an employee. Rodné číslo is validated and stored encrypted

POST/v1/payroll/employees

Create an employee. Rodné číslo is validated and stored encrypted

MCP tool: create-payroll-employee

Request body

firstNamestringrequiredmax 200 chars
lastNamestringrequiredmax 200 chars
titlestring | null
birthNamestring | null
birthNumberstring | null
birthDatestring | null
Date as YYYY-MM-DD.
birthPlacestring | null
gender"male" | "female" | null
citizenshipstring2 chars
streetstring | null
houseNumberstring | null
orientationNumberstring | null
citystring | null
postalCodestring | null
countrystring2 chars
emailstring | null
phonestring | null
bankAccountstring | null
healthInsurerCode"111" | "201" | "205" | "207" | "209" | "211" | "213" | null
disability"none" | "first_second" | "third"
ztppboolean
ztpboolean
pensionerboolean
pensionerDiscountFromstring | null
Date as YYYY-MM-DD.
studentboolean
studentUntilstring | null
childrenOtherPersonobject | null
firstNamestringrequiredmax 200 chars
lastNamestringrequiredmax 200 chars
birthNumberstring | null
birthDatestring | null
Date as YYYY-MM-DD.
stateInsuredboolean
selfEmployedMinimumboolean
otherEmployerMinimumboolean
employerDiscountGroup"age55" | "parent_under10" | "carer" | "student_under26" | "retraining" | "disabled" | "under21" | null
employerDiscountNotifiedboolean
hasDeclarationboolean
declarationSignedOnstring | null
Date as YYYY-MM-DD.
dependentsintegermin 0max 20
ikMpsvstring | null
educationCodestring | null
studentCreditboolean
doctoralStudentboolean
taxNonResidentboolean
foreignTaxIdstring | null
ID of the foreign tax.
foreignTaxIdType"R" | "D" | "S" | "J" | null
identityDocumentNumberstring | null
identityDocumentType"I" | "P" | "D" | "O" | null
identityDocumentCountrystring | null
status"active" | "inactive"
notestring | null
childrenobject[]
firstNamestringrequiredmax 200 chars
lastNamestringrequiredmax 200 chars
birthNumberstring | null
birthDatestring | null
Date as YYYY-MM-DD.
ztppboolean
claimFromstring | null
Date as YYYY-MM-DD.
claimTostring | null
Date as YYYY-MM-DD.

Response · 201

idstringrequired
namenull | stringrequired
firstNamestringrequired
lastNamestringrequired
titlestring | nullrequired
birthNamestring | nullrequired
birthNumberMaskednull | stringrequired
birthDatenull | stringrequireddate
birthPlacenull | stringrequired
gendernull | stringrequired
citizenshipstringrequired
streetnull | stringrequired
houseNumbernull | stringrequired
orientationNumberstring | nullrequired
citynull | stringrequired
postalCodenull | stringrequired
countrystringrequired
emailnull | stringrequired
phonestring | nullrequired
bankAccountMaskednull | stringrequired
protectedAccountSourceIdnull | stringrequired
protectedAccountConfirmedOnnull | stringrequireddate
healthInsurerCodenull | stringrequired
healthInsurerNamenull | stringrequired
disabilitystringrequired
ztppbooleanrequired
ztpbooleanrequired
pensionerbooleanrequired
pensionerDiscountFromnull | stringrequireddate
studentbooleanrequired
studentUntilstring | nullrequired
stateInsuredbooleanrequired
selfEmployedMinimumbooleanrequired
otherEmployerMinimumbooleanrequired
employerDiscountGroupnull | stringrequired
employerDiscountNotifiedbooleanrequired
hasDeclarationbooleanrequired
declarationSignedOnnull | stringrequireddate
dependentsintegerrequired
ikMpsvnull | stringrequired
educationCodestring | nullrequired
studentCreditbooleanrequired
doctoralStudentbooleanrequired
taxNonResidentbooleanrequired
foreignTaxIdnull | stringrequired
foreignTaxIdTypenull | stringrequired
identityDocumentNumbernull | stringrequired
identityDocumentTypenull | stringrequired
identityDocumentCountrynull | stringrequired
statusstringrequired
notestring | nullrequired
contractsobject[]
object"employment_contract"required
idstringrequired
employeeIdstringrequired
typestringrequired
positionnull | stringrequired
signedOnstring | nullrequired
startDatestringrequireddate
endDatenull | stringrequireddate
endReasonstring | nullrequired
wageTypestringrequired
baseWageHalerintegerrequired
hourlyRateHalerintegerrequired
weeklyHoursMilliintegerrequired
irregularSchedulebooleanrequired
vacationHoursMilliintegerrequired
smallScopeboolean | nullrequired
averageHourlyHalerinteger | nullrequired
mealAllowancePerShiftHalerintegerrequired
mealVoucherEmployerPerShiftHalerintegerrequired
mealVoucherEmployeePerShiftHalerintegerrequired
centerIdnull | stringrequired
activityIdstring | nullrequired
projectIdstring | nullrequired
idPpvnull | stringrequired
iscoCodenull | stringrequired
employmentStatusCodestringrequired
workModeCodestringrequired
workCitynull | stringrequired
workMunicipalityCodenull | stringrequired
registeredAtstring | nullrequired
deregisteredAtstring | nullrequired
allocationMethodstringrequired
deregistrationnull | objectrequired
severanceDueboolean
endReasonCodeinteger
severanceHalerinteger
severancePaidInFullboolean
noDataReasonstring
averageNetMonthlyHalerinteger
notestring | nullrequired
employeeNamestring
qualificationnull | string
exposureNotenull | string
onboardingobject
personalbooleanrequired
insurerbooleanrequired
bankbooleanrequired
contractbooleanrequired
declarationbooleanrequired
registeredbooleanrequired
childrenOtherPersonnull | object
lastNamestringrequired
birthDatenull | stringrequireddate
firstNamestringrequired
birthNumberMaskednull | stringrequired
birthNumbernull | string
bankAccountnull | string
childrenobject[]
object"employee_child"required
idstringrequired
firstNamenull | stringrequired
lastNamenull | stringrequired
birthNumbernull | stringrequired
birthNumberMaskednull | stringrequired
birthDatenull | stringrequireddate
ztppbooleanrequired
claimFromnull | stringrequireddate
claimTonull | stringrequireddate
positioninteger | nullrequired
POST/v1/payroll/employees
curl -X POST https://api.damedoklad.cz/v1/payroll/employees \
  -H "Authorization: Bearer $DAMEDOKLAD_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
  "firstName": "Pekárna U Lípy s.r.o.",
  "lastName": "Pekárna U Lípy s.r.o."
}'

Get the personal card of an employee, with the full rodné číslo, bank account, children, and contracts

GET/v1/payroll/employees/{id}

Get the personal card of an employee, with the full rodné číslo, bank account, children, and contracts

MCP tool: get-payroll-employee

Path parameters

idstringrequired

Response · 200

idstringrequired
namenull | stringrequired
firstNamestringrequired
lastNamestringrequired
titlestring | nullrequired
birthNamestring | nullrequired
birthNumberMaskednull | stringrequired
birthDatenull | stringrequireddate
birthPlacenull | stringrequired
gendernull | stringrequired
citizenshipstringrequired
streetnull | stringrequired
houseNumbernull | stringrequired
orientationNumberstring | nullrequired
citynull | stringrequired
postalCodenull | stringrequired
countrystringrequired
emailnull | stringrequired
phonestring | nullrequired
bankAccountMaskednull | stringrequired
protectedAccountSourceIdnull | stringrequired
protectedAccountConfirmedOnnull | stringrequireddate
healthInsurerCodenull | stringrequired
healthInsurerNamenull | stringrequired
disabilitystringrequired
ztppbooleanrequired
ztpbooleanrequired
pensionerbooleanrequired
pensionerDiscountFromnull | stringrequireddate
studentbooleanrequired
studentUntilstring | nullrequired
stateInsuredbooleanrequired
selfEmployedMinimumbooleanrequired
otherEmployerMinimumbooleanrequired
employerDiscountGroupnull | stringrequired
employerDiscountNotifiedbooleanrequired
hasDeclarationbooleanrequired
declarationSignedOnnull | stringrequireddate
dependentsintegerrequired
ikMpsvnull | stringrequired
educationCodestring | nullrequired
studentCreditbooleanrequired
doctoralStudentbooleanrequired
taxNonResidentbooleanrequired
foreignTaxIdnull | stringrequired
foreignTaxIdTypenull | stringrequired
identityDocumentNumbernull | stringrequired
identityDocumentTypenull | stringrequired
identityDocumentCountrynull | stringrequired
statusstringrequired
notestring | nullrequired
contractsobject[]
object"employment_contract"required
idstringrequired
employeeIdstringrequired
typestringrequired
positionnull | stringrequired
signedOnstring | nullrequired
startDatestringrequireddate
endDatenull | stringrequireddate
endReasonstring | nullrequired
wageTypestringrequired
baseWageHalerintegerrequired
hourlyRateHalerintegerrequired
weeklyHoursMilliintegerrequired
irregularSchedulebooleanrequired
vacationHoursMilliintegerrequired
smallScopeboolean | nullrequired
averageHourlyHalerinteger | nullrequired
mealAllowancePerShiftHalerintegerrequired
mealVoucherEmployerPerShiftHalerintegerrequired
mealVoucherEmployeePerShiftHalerintegerrequired
centerIdnull | stringrequired
activityIdstring | nullrequired
projectIdstring | nullrequired
idPpvnull | stringrequired
iscoCodenull | stringrequired
employmentStatusCodestringrequired
workModeCodestringrequired
workCitynull | stringrequired
workMunicipalityCodenull | stringrequired
registeredAtstring | nullrequired
deregisteredAtstring | nullrequired
allocationMethodstringrequired
deregistrationnull | objectrequired
severanceDueboolean
endReasonCodeinteger
severanceHalerinteger
severancePaidInFullboolean
noDataReasonstring
averageNetMonthlyHalerinteger
notestring | nullrequired
employeeNamestring
qualificationnull | string
exposureNotenull | string
onboardingobject
personalbooleanrequired
insurerbooleanrequired
bankbooleanrequired
contractbooleanrequired
declarationbooleanrequired
registeredbooleanrequired
childrenOtherPersonnull | object
lastNamestringrequired
birthDatenull | stringrequireddate
firstNamestringrequired
birthNumberMaskednull | stringrequired
birthNumbernull | string
bankAccountnull | string
childrenobject[]
object"employee_child"required
idstringrequired
firstNamenull | stringrequired
lastNamenull | stringrequired
birthNumbernull | stringrequired
birthNumberMaskednull | stringrequired
birthDatenull | stringrequireddate
ztppbooleanrequired
claimFromnull | stringrequireddate
claimTonull | stringrequireddate
positioninteger | nullrequired
GET/v1/payroll/employees/{id}
curl https://api.damedoklad.cz/v1/payroll/employees/obj_2n9F4kT7wQ1xYz0aBcDeFgHiJkL \
  -H "Authorization: Bearer $DAMEDOKLAD_API_KEY"

Update the personal card of an employee

PATCH/v1/payroll/employees/{id}

Update the personal card of an employee

MCP tool: update-payroll-employee

Path parameters

idstringrequired

Request body

firstNamestringmax 200 chars
lastNamestringmax 200 chars
titlestring | null
birthNamestring | null
birthNumberstring | null
birthDatestring | null
Date as YYYY-MM-DD.
birthPlacestring | null
gender"male" | "female" | null
citizenshipstring2 chars
streetstring | null
houseNumberstring | null
orientationNumberstring | null
citystring | null
postalCodestring | null
countrystring2 chars
emailstring | null
phonestring | null
bankAccountstring | null
healthInsurerCode"111" | "201" | "205" | "207" | "209" | "211" | "213" | null
disability"none" | "first_second" | "third"
ztppboolean
ztpboolean
pensionerboolean
pensionerDiscountFromstring | null
Date as YYYY-MM-DD.
studentboolean
studentUntilstring | null
childrenOtherPersonobject | null
firstNamestringrequiredmax 200 chars
lastNamestringrequiredmax 200 chars
birthNumberstring | null
birthDatestring | null
Date as YYYY-MM-DD.
stateInsuredboolean
selfEmployedMinimumboolean
otherEmployerMinimumboolean
employerDiscountGroup"age55" | "parent_under10" | "carer" | "student_under26" | "retraining" | "disabled" | "under21" | null
employerDiscountNotifiedboolean
hasDeclarationboolean
declarationSignedOnstring | null
Date as YYYY-MM-DD.
dependentsintegermin 0max 20
ikMpsvstring | null
educationCodestring | null
studentCreditboolean
doctoralStudentboolean
taxNonResidentboolean
foreignTaxIdstring | null
ID of the foreign tax.
foreignTaxIdType"R" | "D" | "S" | "J" | null
identityDocumentNumberstring | null
identityDocumentType"I" | "P" | "D" | "O" | null
identityDocumentCountrystring | null
status"active" | "inactive"
notestring | null

Response · 200

idstringrequired
namenull | stringrequired
firstNamestringrequired
lastNamestringrequired
titlestring | nullrequired
birthNamestring | nullrequired
birthNumberMaskednull | stringrequired
birthDatenull | stringrequireddate
birthPlacenull | stringrequired
gendernull | stringrequired
citizenshipstringrequired
streetnull | stringrequired
houseNumbernull | stringrequired
orientationNumberstring | nullrequired
citynull | stringrequired
postalCodenull | stringrequired
countrystringrequired
emailnull | stringrequired
phonestring | nullrequired
bankAccountMaskednull | stringrequired
protectedAccountSourceIdnull | stringrequired
protectedAccountConfirmedOnnull | stringrequireddate
healthInsurerCodenull | stringrequired
healthInsurerNamenull | stringrequired
disabilitystringrequired
ztppbooleanrequired
ztpbooleanrequired
pensionerbooleanrequired
pensionerDiscountFromnull | stringrequireddate
studentbooleanrequired
studentUntilstring | nullrequired
stateInsuredbooleanrequired
selfEmployedMinimumbooleanrequired
otherEmployerMinimumbooleanrequired
employerDiscountGroupnull | stringrequired
employerDiscountNotifiedbooleanrequired
hasDeclarationbooleanrequired
declarationSignedOnnull | stringrequireddate
dependentsintegerrequired
ikMpsvnull | stringrequired
educationCodestring | nullrequired
studentCreditbooleanrequired
doctoralStudentbooleanrequired
taxNonResidentbooleanrequired
foreignTaxIdnull | stringrequired
foreignTaxIdTypenull | stringrequired
identityDocumentNumbernull | stringrequired
identityDocumentTypenull | stringrequired
identityDocumentCountrynull | stringrequired
statusstringrequired
notestring | nullrequired
contractsobject[]
object"employment_contract"required
idstringrequired
employeeIdstringrequired
typestringrequired
positionnull | stringrequired
signedOnstring | nullrequired
startDatestringrequireddate
endDatenull | stringrequireddate
endReasonstring | nullrequired
wageTypestringrequired
baseWageHalerintegerrequired
hourlyRateHalerintegerrequired
weeklyHoursMilliintegerrequired
irregularSchedulebooleanrequired
vacationHoursMilliintegerrequired
smallScopeboolean | nullrequired
averageHourlyHalerinteger | nullrequired
mealAllowancePerShiftHalerintegerrequired
mealVoucherEmployerPerShiftHalerintegerrequired
mealVoucherEmployeePerShiftHalerintegerrequired
centerIdnull | stringrequired
activityIdstring | nullrequired
projectIdstring | nullrequired
idPpvnull | stringrequired
iscoCodenull | stringrequired
employmentStatusCodestringrequired
workModeCodestringrequired
workCitynull | stringrequired
workMunicipalityCodenull | stringrequired
registeredAtstring | nullrequired
deregisteredAtstring | nullrequired
allocationMethodstringrequired
deregistrationnull | objectrequired
severanceDueboolean
endReasonCodeinteger
severanceHalerinteger
severancePaidInFullboolean
noDataReasonstring
averageNetMonthlyHalerinteger
notestring | nullrequired
employeeNamestring
qualificationnull | string
exposureNotenull | string
onboardingobject
personalbooleanrequired
insurerbooleanrequired
bankbooleanrequired
contractbooleanrequired
declarationbooleanrequired
registeredbooleanrequired
childrenOtherPersonnull | object
lastNamestringrequired
birthDatenull | stringrequireddate
firstNamestringrequired
birthNumberMaskednull | stringrequired
birthNumbernull | string
bankAccountnull | string
childrenobject[]
object"employee_child"required
idstringrequired
firstNamenull | stringrequired
lastNamenull | stringrequired
birthNumbernull | stringrequired
birthNumberMaskednull | stringrequired
birthDatenull | stringrequireddate
ztppbooleanrequired
claimFromnull | stringrequireddate
claimTonull | stringrequireddate
positioninteger | nullrequired
PATCH/v1/payroll/employees/{id}
curl -X PATCH https://api.damedoklad.cz/v1/payroll/employees/obj_2n9F4kT7wQ1xYz0aBcDeFgHiJkL \
  -H "Authorization: Bearer $DAMEDOKLAD_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
  "firstName": "Pekárna U Lípy s.r.o.",
  "lastName": "Pekárna U Lípy s.r.o.",
  "title": "string"
}'

Delete an employee who has never been paid. Anyone with payroll history must be kept for the statutory period

DELETE/v1/payroll/employees/{id}

Delete an employee who has never been paid. Anyone with payroll history must be kept for the statutory period

IrreversibleThis operation cannot be undone. MCP clients ask for confirmation first.

MCP tool: delete-payroll-employee

Path parameters

idstringrequired

Response · 200

idstringrequired
deletedbooleanrequired
DELETE/v1/payroll/employees/{id}
curl -X DELETE https://api.damedoklad.cz/v1/payroll/employees/obj_2n9F4kT7wQ1xYz0aBcDeFgHiJkL \
  -H "Authorization: Bearer $DAMEDOKLAD_API_KEY"

Replace the list of children claimed for the tax credit. Order sets first, second, third child

PUT/v1/payroll/employees/{id}/children

Replace the list of children claimed for the tax credit. Order sets first, second, third child

MCP tool: replace-payroll-employee-children

Path parameters

idstringrequired

Request body

childrenobject[]required
firstNamestringrequiredmax 200 chars
lastNamestringrequiredmax 200 chars
birthNumberstring | null
birthDatestring | null
Date as YYYY-MM-DD.
ztppboolean
claimFromstring | null
Date as YYYY-MM-DD.
claimTostring | null
Date as YYYY-MM-DD.

Response · 200

idstringrequired
namenull | stringrequired
firstNamestringrequired
lastNamestringrequired
titlestring | nullrequired
birthNamestring | nullrequired
birthNumberMaskednull | stringrequired
birthDatenull | stringrequireddate
birthPlacenull | stringrequired
gendernull | stringrequired
citizenshipstringrequired
streetnull | stringrequired
houseNumbernull | stringrequired
orientationNumberstring | nullrequired
citynull | stringrequired
postalCodenull | stringrequired
countrystringrequired
emailnull | stringrequired
phonestring | nullrequired
bankAccountMaskednull | stringrequired
protectedAccountSourceIdnull | stringrequired
protectedAccountConfirmedOnnull | stringrequireddate
healthInsurerCodenull | stringrequired
healthInsurerNamenull | stringrequired
disabilitystringrequired
ztppbooleanrequired
ztpbooleanrequired
pensionerbooleanrequired
pensionerDiscountFromnull | stringrequireddate
studentbooleanrequired
studentUntilstring | nullrequired
stateInsuredbooleanrequired
selfEmployedMinimumbooleanrequired
otherEmployerMinimumbooleanrequired
employerDiscountGroupnull | stringrequired
employerDiscountNotifiedbooleanrequired
hasDeclarationbooleanrequired
declarationSignedOnnull | stringrequireddate
dependentsintegerrequired
ikMpsvnull | stringrequired
educationCodestring | nullrequired
studentCreditbooleanrequired
doctoralStudentbooleanrequired
taxNonResidentbooleanrequired
foreignTaxIdnull | stringrequired
foreignTaxIdTypenull | stringrequired
identityDocumentNumbernull | stringrequired
identityDocumentTypenull | stringrequired
identityDocumentCountrynull | stringrequired
statusstringrequired
notestring | nullrequired
contractsobject[]
object"employment_contract"required
idstringrequired
employeeIdstringrequired
typestringrequired
positionnull | stringrequired
signedOnstring | nullrequired
startDatestringrequireddate
endDatenull | stringrequireddate
endReasonstring | nullrequired
wageTypestringrequired
baseWageHalerintegerrequired
hourlyRateHalerintegerrequired
weeklyHoursMilliintegerrequired
irregularSchedulebooleanrequired
vacationHoursMilliintegerrequired
smallScopeboolean | nullrequired
averageHourlyHalerinteger | nullrequired
mealAllowancePerShiftHalerintegerrequired
mealVoucherEmployerPerShiftHalerintegerrequired
mealVoucherEmployeePerShiftHalerintegerrequired
centerIdnull | stringrequired
activityIdstring | nullrequired
projectIdstring | nullrequired
idPpvnull | stringrequired
iscoCodenull | stringrequired
employmentStatusCodestringrequired
workModeCodestringrequired
workCitynull | stringrequired
workMunicipalityCodenull | stringrequired
registeredAtstring | nullrequired
deregisteredAtstring | nullrequired
allocationMethodstringrequired
deregistrationnull | objectrequired
severanceDueboolean
endReasonCodeinteger
severanceHalerinteger
severancePaidInFullboolean
noDataReasonstring
averageNetMonthlyHalerinteger
notestring | nullrequired
employeeNamestring
qualificationnull | string
exposureNotenull | string
onboardingobject
personalbooleanrequired
insurerbooleanrequired
bankbooleanrequired
contractbooleanrequired
declarationbooleanrequired
registeredbooleanrequired
childrenOtherPersonnull | object
lastNamestringrequired
birthDatenull | stringrequireddate
firstNamestringrequired
birthNumberMaskednull | stringrequired
birthNumbernull | string
bankAccountnull | string
childrenobject[]
object"employee_child"required
idstringrequired
firstNamenull | stringrequired
lastNamenull | stringrequired
birthNumbernull | stringrequired
birthNumberMaskednull | stringrequired
birthDatenull | stringrequireddate
ztppbooleanrequired
claimFromnull | stringrequireddate
claimTonull | stringrequireddate
positioninteger | nullrequired
PUT/v1/payroll/employees/{id}/children
curl -X PUT https://api.damedoklad.cz/v1/payroll/employees/obj_2n9F4kT7wQ1xYz0aBcDeFgHiJkL/children \
  -H "Authorization: Bearer $DAMEDOKLAD_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
  "children": [
    {
      "firstName": "Pekárna U Lípy s.r.o.",
      "lastName": "Pekárna U Lípy s.r.o."
    }
  ]
}'

OZUSPOJ23: the notice of intent to apply the employer discount on social insurance (§ 7b zák. 589/1992 Sb.), for one employee. Valid against the official XSD

GET/v1/payroll/employees/{id}/discount-notice.xml

OZUSPOJ23: the notice of intent to apply the employer discount on social insurance (§ 7b zák. 589/1992 Sb.), for one employee. Valid against the official XSD

MCP tool: get-payroll-discount-notice-xml

Path parameters

idstringrequired

Query parameters

action"start" | "end" | "cancel"required
fromstringYYYY-MM-DD
Date as YYYY-MM-DD.
tostringYYYY-MM-DD
Date as YYYY-MM-DD.

Response · 200

Returns a application/xml file.

GET/v1/payroll/employees/{id}/discount-notice.xml
curl https://api.damedoklad.cz/v1/payroll/employees/obj_2n9F4kT7wQ1xYz0aBcDeFgHiJkL/discount-notice.xml \
  -H "Authorization: Bearer $DAMEDOKLAD_API_KEY" \
  -o soubor

Evidenční list důchodového pojištění of an employee for a year, as PDF

GET/v1/payroll/employees/{id}/eldp.pdf

Evidenční list důchodového pojištění of an employee for a year, as PDF

MCP tool: get-payroll-eldp-pdf

Path parameters

idstringrequired

Query parameters

yearintegerrequiredmin 2000max 2100

Response · 200

Returns a application/pdf file.

GET/v1/payroll/employees/{id}/eldp.pdf
curl https://api.damedoklad.cz/v1/payroll/employees/obj_2n9F4kT7wQ1xYz0aBcDeFgHiJkL/eldp.pdf \
  -H "Authorization: Bearer $DAMEDOKLAD_API_KEY" \
  -o soubor

Potvrzení o zdanitelných příjmech of an employee for a year, as PDF

GET/v1/payroll/employees/{id}/income-confirmation.pdf

Potvrzení o zdanitelných příjmech of an employee for a year, as PDF

MCP tool: get-payroll-income-confirmation-pdf

Path parameters

idstringrequired

Query parameters

yearintegerrequiredmin 2000max 2100

Response · 200

Returns a application/pdf file.

GET/v1/payroll/employees/{id}/income-confirmation.pdf
curl https://api.damedoklad.cz/v1/payroll/employees/obj_2n9F4kT7wQ1xYz0aBcDeFgHiJkL/income-confirmation.pdf \
  -H "Authorization: Bearer $DAMEDOKLAD_API_KEY" \
  -o soubor

Record that the wage goes to a protected account (chráněný účet, § 304c to § 304e OSŘ): the bank account the confirmation names as its source. From then on a run pays this wage from that account

POST/v1/payroll/employees/{id}/protected-account

Record that the wage goes to a protected account (chráněný účet, § 304c to § 304e OSŘ): the bank account the confirmation names as its source. From then on a run pays this wage from that account

MCP tool: set-payroll-protected-account

Path parameters

idstringrequired

Request body

bankAccountIdstringrequired
ID of the bank account. Find it with list-bank-accounts.
confirmedOnstringYYYY-MM-DD
Date as YYYY-MM-DD.

Response · 200

idstringrequired
namenull | stringrequired
firstNamestringrequired
lastNamestringrequired
titlestring | nullrequired
birthNamestring | nullrequired
birthNumberMaskednull | stringrequired
birthDatenull | stringrequireddate
birthPlacenull | stringrequired
gendernull | stringrequired
citizenshipstringrequired
streetnull | stringrequired
houseNumbernull | stringrequired
orientationNumberstring | nullrequired
citynull | stringrequired
postalCodenull | stringrequired
countrystringrequired
emailnull | stringrequired
phonestring | nullrequired
bankAccountMaskednull | stringrequired
protectedAccountSourceIdnull | stringrequired
protectedAccountConfirmedOnnull | stringrequireddate
healthInsurerCodenull | stringrequired
healthInsurerNamenull | stringrequired
disabilitystringrequired
ztppbooleanrequired
ztpbooleanrequired
pensionerbooleanrequired
pensionerDiscountFromnull | stringrequireddate
studentbooleanrequired
studentUntilstring | nullrequired
stateInsuredbooleanrequired
selfEmployedMinimumbooleanrequired
otherEmployerMinimumbooleanrequired
employerDiscountGroupnull | stringrequired
employerDiscountNotifiedbooleanrequired
hasDeclarationbooleanrequired
declarationSignedOnnull | stringrequireddate
dependentsintegerrequired
ikMpsvnull | stringrequired
educationCodestring | nullrequired
studentCreditbooleanrequired
doctoralStudentbooleanrequired
taxNonResidentbooleanrequired
foreignTaxIdnull | stringrequired
foreignTaxIdTypenull | stringrequired
identityDocumentNumbernull | stringrequired
identityDocumentTypenull | stringrequired
identityDocumentCountrynull | stringrequired
statusstringrequired
notestring | nullrequired
contractsobject[]
object"employment_contract"required
idstringrequired
employeeIdstringrequired
typestringrequired
positionnull | stringrequired
signedOnstring | nullrequired
startDatestringrequireddate
endDatenull | stringrequireddate
endReasonstring | nullrequired
wageTypestringrequired
baseWageHalerintegerrequired
hourlyRateHalerintegerrequired
weeklyHoursMilliintegerrequired
irregularSchedulebooleanrequired
vacationHoursMilliintegerrequired
smallScopeboolean | nullrequired
averageHourlyHalerinteger | nullrequired
mealAllowancePerShiftHalerintegerrequired
mealVoucherEmployerPerShiftHalerintegerrequired
mealVoucherEmployeePerShiftHalerintegerrequired
centerIdnull | stringrequired
activityIdstring | nullrequired
projectIdstring | nullrequired
idPpvnull | stringrequired
iscoCodenull | stringrequired
employmentStatusCodestringrequired
workModeCodestringrequired
workCitynull | stringrequired
workMunicipalityCodenull | stringrequired
registeredAtstring | nullrequired
deregisteredAtstring | nullrequired
allocationMethodstringrequired
deregistrationnull | objectrequired
severanceDueboolean
endReasonCodeinteger
severanceHalerinteger
severancePaidInFullboolean
noDataReasonstring
averageNetMonthlyHalerinteger
notestring | nullrequired
employeeNamestring
qualificationnull | string
exposureNotenull | string
onboardingobject
personalbooleanrequired
insurerbooleanrequired
bankbooleanrequired
contractbooleanrequired
declarationbooleanrequired
registeredbooleanrequired
childrenOtherPersonnull | object
lastNamestringrequired
birthDatenull | stringrequireddate
firstNamestringrequired
birthNumberMaskednull | stringrequired
birthNumbernull | string
bankAccountnull | string
childrenobject[]
object"employee_child"required
idstringrequired
firstNamenull | stringrequired
lastNamenull | stringrequired
birthNumbernull | stringrequired
birthNumberMaskednull | stringrequired
birthDatenull | stringrequireddate
ztppbooleanrequired
claimFromnull | stringrequireddate
claimTonull | stringrequireddate
positioninteger | nullrequired
POST/v1/payroll/employees/{id}/protected-account
curl -X POST https://api.damedoklad.cz/v1/payroll/employees/obj_2n9F4kT7wQ1xYz0aBcDeFgHiJkL/protected-account \
  -H "Authorization: Bearer $DAMEDOKLAD_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
  "bankAccountId": "cba_2n9F4kT7wQ1xYz0aBcDeFgHiJkL"
}'

The data for the confirmation of a protected account (§ 304d odst. 1 OSŘ) as a PDF working paper. The law wants the ministry's own form, so this is not it

GET/v1/payroll/employees/{id}/protected-account.pdf

The data for the confirmation of a protected account (§ 304d odst. 1 OSŘ) as a PDF working paper. The law wants the ministry's own form, so this is not it

MCP tool: get-payroll-protected-account-pdf

Path parameters

idstringrequired

Response · 200

Returns a application/pdf file.

GET/v1/payroll/employees/{id}/protected-account.pdf
curl https://api.damedoklad.cz/v1/payroll/employees/obj_2n9F4kT7wQ1xYz0aBcDeFgHiJkL/protected-account.pdf \
  -H "Authorization: Bearer $DAMEDOKLAD_API_KEY" \
  -o soubor

The employee brought the bank's confirmation that the account is no longer protected (§ 304e odst. 2 OSŘ): the wage is free to leave from any account again

POST/v1/payroll/employees/{id}/protected-account/end

The employee brought the bank's confirmation that the account is no longer protected (§ 304e odst. 2 OSŘ): the wage is free to leave from any account again

MCP tool: clear-payroll-protected-account

Path parameters

idstringrequired

Response · 200

idstringrequired
namenull | stringrequired
firstNamestringrequired
lastNamestringrequired
titlestring | nullrequired
birthNamestring | nullrequired
birthNumberMaskednull | stringrequired
birthDatenull | stringrequireddate
birthPlacenull | stringrequired
gendernull | stringrequired
citizenshipstringrequired
streetnull | stringrequired
houseNumbernull | stringrequired
orientationNumberstring | nullrequired
citynull | stringrequired
postalCodenull | stringrequired
countrystringrequired
emailnull | stringrequired
phonestring | nullrequired
bankAccountMaskednull | stringrequired
protectedAccountSourceIdnull | stringrequired
protectedAccountConfirmedOnnull | stringrequireddate
healthInsurerCodenull | stringrequired
healthInsurerNamenull | stringrequired
disabilitystringrequired
ztppbooleanrequired
ztpbooleanrequired
pensionerbooleanrequired
pensionerDiscountFromnull | stringrequireddate
studentbooleanrequired
studentUntilstring | nullrequired
stateInsuredbooleanrequired
selfEmployedMinimumbooleanrequired
otherEmployerMinimumbooleanrequired
employerDiscountGroupnull | stringrequired
employerDiscountNotifiedbooleanrequired
hasDeclarationbooleanrequired
declarationSignedOnnull | stringrequireddate
dependentsintegerrequired
ikMpsvnull | stringrequired
educationCodestring | nullrequired
studentCreditbooleanrequired
doctoralStudentbooleanrequired
taxNonResidentbooleanrequired
foreignTaxIdnull | stringrequired
foreignTaxIdTypenull | stringrequired
identityDocumentNumbernull | stringrequired
identityDocumentTypenull | stringrequired
identityDocumentCountrynull | stringrequired
statusstringrequired
notestring | nullrequired
contractsobject[]
object"employment_contract"required
idstringrequired
employeeIdstringrequired
typestringrequired
positionnull | stringrequired
signedOnstring | nullrequired
startDatestringrequireddate
endDatenull | stringrequireddate
endReasonstring | nullrequired
wageTypestringrequired
baseWageHalerintegerrequired
hourlyRateHalerintegerrequired
weeklyHoursMilliintegerrequired
irregularSchedulebooleanrequired
vacationHoursMilliintegerrequired
smallScopeboolean | nullrequired
averageHourlyHalerinteger | nullrequired
mealAllowancePerShiftHalerintegerrequired
mealVoucherEmployerPerShiftHalerintegerrequired
mealVoucherEmployeePerShiftHalerintegerrequired
centerIdnull | stringrequired
activityIdstring | nullrequired
projectIdstring | nullrequired
idPpvnull | stringrequired
iscoCodenull | stringrequired
employmentStatusCodestringrequired
workModeCodestringrequired
workCitynull | stringrequired
workMunicipalityCodenull | stringrequired
registeredAtstring | nullrequired
deregisteredAtstring | nullrequired
allocationMethodstringrequired
deregistrationnull | objectrequired
severanceDueboolean
endReasonCodeinteger
severanceHalerinteger
severancePaidInFullboolean
noDataReasonstring
averageNetMonthlyHalerinteger
notestring | nullrequired
employeeNamestring
qualificationnull | string
exposureNotenull | string
onboardingobject
personalbooleanrequired
insurerbooleanrequired
bankbooleanrequired
contractbooleanrequired
declarationbooleanrequired
registeredbooleanrequired
childrenOtherPersonnull | object
lastNamestringrequired
birthDatenull | stringrequireddate
firstNamestringrequired
birthNumberMaskednull | stringrequired
birthNumbernull | string
bankAccountnull | string
childrenobject[]
object"employee_child"required
idstringrequired
firstNamenull | stringrequired
lastNamenull | stringrequired
birthNumbernull | stringrequired
birthNumberMaskednull | stringrequired
birthDatenull | stringrequireddate
ztppbooleanrequired
claimFromnull | stringrequireddate
claimTonull | stringrequireddate
positioninteger | nullrequired
POST/v1/payroll/employees/{id}/protected-account/end
curl -X POST https://api.damedoklad.cz/v1/payroll/employees/obj_2n9F4kT7wQ1xYz0aBcDeFgHiJkL/protected-account/end \
  -H "Authorization: Bearer $DAMEDOKLAD_API_KEY"

Evidenční list zaměstnance (personal record) as PDF

GET/v1/payroll/employees/{id}/record.pdf

Evidenční list zaměstnance (personal record) as PDF

MCP tool: get-payroll-employee-record-pdf

Path parameters

idstringrequired

Response · 200

Returns a application/pdf file.

GET/v1/payroll/employees/{id}/record.pdf
curl https://api.damedoklad.cz/v1/payroll/employees/obj_2n9F4kT7wQ1xYz0aBcDeFgHiJkL/record.pdf \
  -H "Authorization: Bearer $DAMEDOKLAD_API_KEY" \
  -o soubor

Import employees from XLSX for a company coming from POHODA, which does not export them to XML: cards and contracts, and on further sheets children, deductions, attendance and wages of past months. A second row with the same person adds a contract. dryRun only validates

POST/v1/payroll/employees/import

Import employees from XLSX for a company coming from POHODA, which does not export them to XML: cards and contracts, and on further sheets children, deductions, attendance and wages of past months. A second row with the same person adds a contract. dryRun only validates. Past months go where past months count: the annual social cap, average earnings, the year-end settlement, ELDP and the income confirmation. They post nothing and are not paid. A month that already has a run here is refused, so nothing counts twice.

MCP tool: import-payroll-employees

Request body

fileBase64stringrequiredmax 40000000 chars
File content encoded as base64.
dryRunboolean

Response · 200

dryRunbooleanrequired
employeesintegerrequired
contractsintegerrequired
importedEmployeesintegerrequired
importedContractsintegerrequired
errorsobject[]required
lineintegerrequired
messagenull | stringrequired
namenull | stringrequired
previewobject[]required
namenull | stringrequired
existingbooleanrequired
contractsobject[]required
typestringrequired
positionnull | stringrequired
startDatestringrequireddate
childreninteger
deductionsinteger
attendanceMonthsinteger
wageMonthsinteger
POST/v1/payroll/employees/import
curl -X POST https://api.damedoklad.cz/v1/payroll/employees/import \
  -H "Authorization: Bearer $DAMEDOKLAD_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
  "fileBase64": "string"
}'

Download the XLSX template for importing employees and contracts, with an example row

GET/v1/payroll/employees/import-template.xlsx

Download the XLSX template for importing employees and contracts, with an example row

MCP tool: download-payroll-employee-import-template

Response · 200

Returns a application/vnd.openxmlformats-officedocument.spreadsheetml.sheet file.

GET/v1/payroll/employees/import-template.xlsx
curl https://api.damedoklad.cz/v1/payroll/employees/import-template.xlsx \
  -H "Authorization: Bearer $DAMEDOKLAD_API_KEY" \
  -o soubor

Onboard a new hire in one step: personal card, children, and the first contract

POST/v1/payroll/employees/onboard

Onboard a new hire in one step: personal card, children, and the first contract

MCP tool: onboard-payroll-employee

Request body

employeeobjectrequired
firstNamestringrequiredmax 200 chars
lastNamestringrequiredmax 200 chars
titlestring | null
birthNamestring | null
birthNumberstring | null
birthDatestring | null
Date as YYYY-MM-DD.
birthPlacestring | null
gender"male" | "female" | null
citizenshipstring2 chars
streetstring | null
houseNumberstring | null
orientationNumberstring | null
citystring | null
postalCodestring | null
countrystring2 chars
emailstring | null
phonestring | null
bankAccountstring | null
healthInsurerCode"111" | "201" | "205" | "207" | "209" | "211" | "213" | null
disability"none" | "first_second" | "third"
ztppboolean
ztpboolean
pensionerboolean
pensionerDiscountFromstring | null
Date as YYYY-MM-DD.
studentboolean
studentUntilstring | null
childrenOtherPersonobject | null
firstNamestringrequiredmax 200 chars
lastNamestringrequiredmax 200 chars
birthNumberstring | null
birthDatestring | null
Date as YYYY-MM-DD.
stateInsuredboolean
selfEmployedMinimumboolean
otherEmployerMinimumboolean
employerDiscountGroup"age55" | "parent_under10" | "carer" | "student_under26" | "retraining" | "disabled" | "under21" | null
employerDiscountNotifiedboolean
hasDeclarationboolean
declarationSignedOnstring | null
Date as YYYY-MM-DD.
dependentsintegermin 0max 20
ikMpsvstring | null
educationCodestring | null
studentCreditboolean
doctoralStudentboolean
taxNonResidentboolean
foreignTaxIdstring | null
ID of the foreign tax.
foreignTaxIdType"R" | "D" | "S" | "J" | null
identityDocumentNumberstring | null
identityDocumentType"I" | "P" | "D" | "O" | null
identityDocumentCountrystring | null
status"active" | "inactive"
notestring | null
childrenobject[]
firstNamestringrequiredmax 200 chars
lastNamestringrequiredmax 200 chars
birthNumberstring | null
birthDatestring | null
Date as YYYY-MM-DD.
ztppboolean
claimFromstring | null
Date as YYYY-MM-DD.
claimTostring | null
Date as YYYY-MM-DD.
contractobjectrequired
type"hpp" | "dpc" | "dpp"required
positionstring | null
qualificationstring | null
exposureNotestring | null
signedOnstring | null
Date as YYYY-MM-DD.
startDatestringrequiredYYYY-MM-DD
Date as YYYY-MM-DD.
endDatestring | null
Date as YYYY-MM-DD.
endReasonstring | null
wageType"monthly" | "hourly"
baseWageHalerintegermin 0max 9007199254740991
Integer amount in haléře: 100 = 1 Kč.
hourlyRateHalerintegermin 0max 9007199254740991
Integer amount in haléře: 100 = 1 Kč.
weeklyHoursMilliintegermin 0max 168000
Integer thousandths: 1500 means 1.5.
irregularScheduleboolean
vacationHoursMilliintegermin 0max 9007199254740991
Integer thousandths: 1500 means 1.5.
smallScopeboolean | null
averageHourlyHalerinteger | null
Integer amount in haléře: 100 = 1 Kč.
mealAllowancePerShiftHalerintegermin 0max 9007199254740991
Integer amount in haléře: 100 = 1 Kč.
mealVoucherEmployerPerShiftHalerintegermin 0max 9007199254740991
Integer amount in haléře: 100 = 1 Kč.
mealVoucherEmployeePerShiftHalerintegermin 0max 9007199254740991
Integer amount in haléře: 100 = 1 Kč.
centerIdstring | null
ID of the center.
activityIdstring | null
ID of the activity. Find it with list-activity.
projectIdstring | null
ID of the project.
idPpvstring | null
iscoCodestring | null
employmentStatusCodestring
workModeCode"1" | "2" | "3" | "4"
workCitystring | null
workMunicipalityCodestring | null
registeredAtstring | null
deregisteredAtstring | null
deregistrationobject | null
noDataReason"2" | "3" | null
employmentKind"1" | "2"
endReasonCodeintegermin 1max 15
averageNetMonthlyHalerinteger | null
Integer amount in haléře: 100 = 1 Kč.
severanceDueboolean
severancePaidInFullboolean
severanceHalerintegermin 0max 9007199254740991
Integer amount in haléře: 100 = 1 Kč.
replacementHalerintegermin 0max 9007199254740991
Integer amount in haléře: 100 = 1 Kč.
pensionFromstring | null
Date as YYYY-MM-DD.
pensionTostring | null
Date as YYYY-MM-DD.
notestring | null

Response · 201

idstringrequired
namenull | stringrequired
firstNamestringrequired
lastNamestringrequired
titlestring | nullrequired
birthNamestring | nullrequired
birthNumberMaskednull | stringrequired
birthDatenull | stringrequireddate
birthPlacenull | stringrequired
gendernull | stringrequired
citizenshipstringrequired
streetnull | stringrequired
houseNumbernull | stringrequired
orientationNumberstring | nullrequired
citynull | stringrequired
postalCodenull | stringrequired
countrystringrequired
emailnull | stringrequired
phonestring | nullrequired
bankAccountMaskednull | stringrequired
protectedAccountSourceIdnull | stringrequired
protectedAccountConfirmedOnnull | stringrequireddate
healthInsurerCodenull | stringrequired
healthInsurerNamenull | stringrequired
disabilitystringrequired
ztppbooleanrequired
ztpbooleanrequired
pensionerbooleanrequired
pensionerDiscountFromnull | stringrequireddate
studentbooleanrequired
studentUntilstring | nullrequired
stateInsuredbooleanrequired
selfEmployedMinimumbooleanrequired
otherEmployerMinimumbooleanrequired
employerDiscountGroupnull | stringrequired
employerDiscountNotifiedbooleanrequired
hasDeclarationbooleanrequired
declarationSignedOnnull | stringrequireddate
dependentsintegerrequired
ikMpsvnull | stringrequired
educationCodestring | nullrequired
studentCreditbooleanrequired
doctoralStudentbooleanrequired
taxNonResidentbooleanrequired
foreignTaxIdnull | stringrequired
foreignTaxIdTypenull | stringrequired
identityDocumentNumbernull | stringrequired
identityDocumentTypenull | stringrequired
identityDocumentCountrynull | stringrequired
statusstringrequired
notestring | nullrequired
contractsobject[]
object"employment_contract"required
idstringrequired
employeeIdstringrequired
typestringrequired
positionnull | stringrequired
signedOnstring | nullrequired
startDatestringrequireddate
endDatenull | stringrequireddate
endReasonstring | nullrequired
wageTypestringrequired
baseWageHalerintegerrequired
hourlyRateHalerintegerrequired
weeklyHoursMilliintegerrequired
irregularSchedulebooleanrequired
vacationHoursMilliintegerrequired
smallScopeboolean | nullrequired
averageHourlyHalerinteger | nullrequired
mealAllowancePerShiftHalerintegerrequired
mealVoucherEmployerPerShiftHalerintegerrequired
mealVoucherEmployeePerShiftHalerintegerrequired
centerIdnull | stringrequired
activityIdstring | nullrequired
projectIdstring | nullrequired
idPpvnull | stringrequired
iscoCodenull | stringrequired
employmentStatusCodestringrequired
workModeCodestringrequired
workCitynull | stringrequired
workMunicipalityCodenull | stringrequired
registeredAtstring | nullrequired
deregisteredAtstring | nullrequired
allocationMethodstringrequired
deregistrationnull | objectrequired
severanceDueboolean
endReasonCodeinteger
severanceHalerinteger
severancePaidInFullboolean
noDataReasonstring
averageNetMonthlyHalerinteger
notestring | nullrequired
employeeNamestring
qualificationnull | string
exposureNotenull | string
onboardingobject
personalbooleanrequired
insurerbooleanrequired
bankbooleanrequired
contractbooleanrequired
declarationbooleanrequired
registeredbooleanrequired
childrenOtherPersonnull | object
lastNamestringrequired
birthDatenull | stringrequireddate
firstNamestringrequired
birthNumberMaskednull | stringrequired
birthNumbernull | string
bankAccountnull | string
childrenobject[]
object"employee_child"required
idstringrequired
firstNamenull | stringrequired
lastNamenull | stringrequired
birthNumbernull | stringrequired
birthNumberMaskednull | stringrequired
birthDatenull | stringrequireddate
ztppbooleanrequired
claimFromnull | stringrequireddate
claimTonull | stringrequireddate
positioninteger | nullrequired
POST/v1/payroll/employees/onboard
curl -X POST https://api.damedoklad.cz/v1/payroll/employees/onboard \
  -H "Authorization: Bearer $DAMEDOKLAD_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
  "employee": {
    "firstName": "Pekárna U Lípy s.r.o.",
    "lastName": "Pekárna U Lípy s.r.o."
  },
  "contract": {
    "type": "hpp",
    "startDate": "2026-10-30"
  }
}'

What a Hromadné oznámení zaměstnavatele of a period says for one insurer, worked out from contracts. Tells where the XML format comes from, whether that insurer itself publishes it, and which form an XDP belongs to

GET/v1/payroll/health-changes

What a Hromadné oznámení zaměstnavatele of a period says for one insurer, worked out from contracts. Tells where the XML format comes from, whether that insurer itself publishes it, and which form an XDP belongs to

MCP tool: get-payroll-health-changes

Query parameters

insurer"111" | "201" | "205" | "207" | "209" | "211" | "213"required
fromstringrequiredYYYY-MM-DD
Date as YYYY-MM-DD.
tostringrequiredYYYY-MM-DD
Date as YYYY-MM-DD.

Response · 200

insurerstringrequired
xmlFormatSourcenull | stringrequired
linesobject[]required
employeeIdnull | stringrequired
namenull | stringrequired
codenull | stringrequired
datestringrequireddate
uncertainbooleanrequired
addedobject[]
idstringrequired
employeeIdnull | stringrequired
namenull | stringrequired
codenull | stringrequired
datestringrequireddate
skippedobject[]
idstringrequired
employeeIdnull | stringrequired
namenull | stringrequired
codenull | stringrequired
datestringrequireddate
xmlFormatPublishedboolean
xdpFormnull | string
GET/v1/payroll/health-changes
curl https://api.damedoklad.cz/v1/payroll/health-changes \
  -H "Authorization: Bearer $DAMEDOKLAD_API_KEY"

The data of the insurer's Hromadné oznámení form as an XDP, for VZP, VoZP, ZPŠ, ZP MV and RBP. Adobe Reader opens it together with the PDF it names, and you send that PDF. Refused for ČPZP and OZP, which take the XML, and when a value would be cut by the form

POST/v1/payroll/health-changes.xdp

The data of the insurer's Hromadné oznámení form as an XDP, for VZP, VoZP, ZPŠ, ZP MV and RBP. Adobe Reader opens it together with the PDF it names, and you send that PDF. Refused for ČPZP and OZP, which take the XML, and when a value would be cut by the form

MCP tool: create-payroll-health-changes-xdp

Request body

insurer"111" | "201" | "205" | "207" | "209" | "211" | "213"required
fromstringrequiredYYYY-MM-DD
Date as YYYY-MM-DD.
tostringrequiredYYYY-MM-DD
Date as YYYY-MM-DD.
extraobject[]
employeeIdstringrequired
ID of the employee.
code"P" | "A" | "E" | "C" | "O" | "Q" | "M" | "U" | "D" | "H" | "I" | "J" | "G" | "F" | "L" | "T" | "N" | "K" | "S" | "R" | "W" | "V" | "X" | "Y" | "Z"required
datestringrequiredYYYY-MM-DD
Date as YYYY-MM-DD.
skipobject[]
employeeIdstringrequired
ID of the employee.
code"P" | "A" | "E" | "C" | "O" | "Q" | "M" | "U" | "D" | "H" | "I" | "J" | "G" | "F" | "L" | "T" | "N" | "K" | "S" | "R" | "W" | "V" | "X" | "Y" | "Z"required
datestringrequiredYYYY-MM-DD
Date as YYYY-MM-DD.

Response · 200

Returns a application/xml file.

POST/v1/payroll/health-changes.xdp
curl -X POST https://api.damedoklad.cz/v1/payroll/health-changes.xdp \
  -H "Authorization: Bearer $DAMEDOKLAD_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
  "insurer": "111",
  "from": "2026-10-30",
  "to": "2026-10-30"
}' \
  -o soubor

Hromadné oznámení zaměstnavatele as the shared XML (hromadneOznameniZamestnavatele v8), whose schema lists all seven insurers. Valid against the XSD. ČPZP, OZP and RBP publish the schema; for VZP, VoZP, ZPŠ and ZP MV ask the insurer whether it takes the file. You file it on the insurer's portal or to its data box

POST/v1/payroll/health-changes.xml

Hromadné oznámení zaměstnavatele as the shared XML (hromadneOznameniZamestnavatele v8), whose schema lists all seven insurers. Valid against the XSD. ČPZP, OZP and RBP publish the schema; for VZP, VoZP, ZPŠ and ZP MV ask the insurer whether it takes the file. You file it on the insurer's portal or to its data box

MCP tool: create-payroll-health-changes-xml

Request body

insurer"111" | "201" | "205" | "207" | "209" | "211" | "213"required
fromstringrequiredYYYY-MM-DD
Date as YYYY-MM-DD.
tostringrequiredYYYY-MM-DD
Date as YYYY-MM-DD.
extraobject[]
employeeIdstringrequired
ID of the employee.
code"P" | "A" | "E" | "C" | "O" | "Q" | "M" | "U" | "D" | "H" | "I" | "J" | "G" | "F" | "L" | "T" | "N" | "K" | "S" | "R" | "W" | "V" | "X" | "Y" | "Z"required
datestringrequiredYYYY-MM-DD
Date as YYYY-MM-DD.
skipobject[]
employeeIdstringrequired
ID of the employee.
code"P" | "A" | "E" | "C" | "O" | "Q" | "M" | "U" | "D" | "H" | "I" | "J" | "G" | "F" | "L" | "T" | "N" | "K" | "S" | "R" | "W" | "V" | "X" | "Y" | "Z"required
datestringrequiredYYYY-MM-DD
Date as YYYY-MM-DD.

Response · 200

Returns a application/xml file.

POST/v1/payroll/health-changes.xml
curl -X POST https://api.damedoklad.cz/v1/payroll/health-changes.xml \
  -H "Authorization: Bearer $DAMEDOKLAD_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
  "insurer": "111",
  "from": "2026-10-30",
  "to": "2026-10-30"
}' \
  -o soubor

Keep a line on the Hromadné oznámení of its month: `add` a change the contracts cannot show, such as maternity (M, U) or a pension (D, H), or `skip` one they show that is not to be filed. It stays for every later look and file

POST/v1/payroll/health-changes/marks

Keep a line on the Hromadné oznámení of its month: `add` a change the contracts cannot show, such as maternity (M, U) or a pension (D, H), or `skip` one they show that is not to be filed. It stays for every later look and file

MCP tool: create-payroll-health-change-mark

Request body

insurer"111" | "201" | "205" | "207" | "209" | "211" | "213"required
employeeIdstringrequired
ID of the employee.
code"P" | "A" | "E" | "C" | "O" | "Q" | "M" | "U" | "D" | "H" | "I" | "J" | "G" | "F" | "L" | "T" | "N" | "K" | "S" | "R" | "W" | "V" | "X" | "Y" | "Z"required
datestringrequiredYYYY-MM-DD
Date as YYYY-MM-DD.
action"add" | "skip"required

Response · 201

idstringrequired
employeeIdstringrequired
namenull | stringrequired
codestringrequired
datestringrequireddate
actionstringrequired
POST/v1/payroll/health-changes/marks
curl -X POST https://api.damedoklad.cz/v1/payroll/health-changes/marks \
  -H "Authorization: Bearer $DAMEDOKLAD_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
  "insurer": "111",
  "employeeId": "yee_2n9F4kT7wQ1xYz0aBcDeFgHiJkL",
  "code": "P",
  "date": "2026-10-30",
  "action": "add"
}'

Take back an added line, or bring back a line that was left out

DELETE/v1/payroll/health-changes/marks/{id}

Take back an added line, or bring back a line that was left out

IrreversibleThis operation cannot be undone. MCP clients ask for confirmation first.

MCP tool: delete-payroll-health-change-mark

Path parameters

idstringrequired

Response · 200

idstringrequired
deletedbooleanrequired
DELETE/v1/payroll/health-changes/marks/{id}
curl -X DELETE https://api.damedoklad.cz/v1/payroll/health-changes/marks/obj_2n9F4kT7wQ1xYz0aBcDeFgHiJkL \
  -H "Authorization: Bearer $DAMEDOKLAD_API_KEY"

List Czech public holidays of a year

GET/v1/payroll/holidays

List Czech public holidays of a year

MCP tool: list-payroll-holidays

Query parameters

yearintegerrequiredmin 2000max 2100
limitintegermin 1max 500
offsetintegermin 0max 9007199254740991
searchstringmax 200 chars

Response · 200

dataobject[]required
datestringrequireddate
namenull | stringrequired
totalinteger
Rows that match, on all pages.
hasMorebooleanrequired
More rows follow. Ask again with offset + the number of rows received.
GET/v1/payroll/holidays
curl https://api.damedoklad.cz/v1/payroll/holidays \
  -H "Authorization: Bearer $DAMEDOKLAD_API_KEY"

List past months taken over from the previous program. They count in the annual social cap, averages, the year-end settlement, ELDP and the income confirmation, and post nothing

GET/v1/payroll/opening-months

List past months taken over from the previous program. They count in the annual social cap, averages, the year-end settlement, ELDP and the income confirmation, and post nothing

MCP tool: list-payroll-opening-months

Query parameters

limitintegermin 1max 500
offsetintegermin 0max 9007199254740991
searchstringmax 200 chars
fromstringYYYY-MM-DD
Date as YYYY-MM-DD.
tostringYYYY-MM-DD
Date as YYYY-MM-DD.
employeeIdstring
ID of the employee.
yearintegermin 2000max 2100

Response · 200

dataobject[]required
object"payroll_opening_month"required
idstringrequired
employeeIdstringrequired
contractIdnull | stringrequired
employeeNamestringrequired
yearintegerrequired
monthintegerrequired
grossHalerintegerrequired
taxableHalerintegerrequired
taxBaseHalerintegerrequired
taxHalerintegerrequired
bonusHalerintegerrequired
withholdingBaseHalerintegerrequired
withholdingHalerintegerrequired
socialBaseHalerintegerrequired
socialEmployeeHalerintegerrequired
socialEmployerHalerintegerrequired
healthBaseHalerintegerrequired
healthEmployeeHalerintegerrequired
healthEmployerHalerintegerrequired
netHalerintegerrequired
workedHoursMilliintegerrequired
workedDaysintegerrequired
sickDaysintegerrequired
ocrDaysintegerrequired
unpaidLeaveMilliintegerrequired
notestring | nullrequired
totalinteger
Rows that match, on all pages.
hasMorebooleanrequired
More rows follow. Ask again with offset + the number of rows received.
GET/v1/payroll/opening-months
curl https://api.damedoklad.cz/v1/payroll/opening-months \
  -H "Authorization: Bearer $DAMEDOKLAD_API_KEY"

Remove a past month taken over by mistake, so it can be imported again

DELETE/v1/payroll/opening-months/{id}

Remove a past month taken over by mistake, so it can be imported again

IrreversibleThis operation cannot be undone. MCP clients ask for confirmation first.

MCP tool: delete-payroll-opening-month

Path parameters

idstringrequired

Response · 200

idstringrequired
deletedbooleanrequired
DELETE/v1/payroll/opening-months/{id}
curl -X DELETE https://api.damedoklad.cz/v1/payroll/opening-months/obj_2n9F4kT7wQ1xYz0aBcDeFgHiJkL \
  -H "Authorization: Bearer $DAMEDOKLAD_API_KEY"

List company pay item templates: bonuses, premium rates, meal vouchers, and benefits, with the contracts they apply to

GET/v1/payroll/pay-items

List company pay item templates: bonuses, premium rates, meal vouchers, and benefits, with the contracts they apply to

MCP tool: list-payroll-pay-items

Query parameters

limitintegermin 1max 500
offsetintegermin 0max 9007199254740991
searchstringmax 200 chars

Response · 200

dataany[]required
totalinteger
Rows that match, on all pages.
hasMorebooleanrequired
More rows follow. Ask again with offset + the number of rows received.
GET/v1/payroll/pay-items
curl https://api.damedoklad.cz/v1/payroll/pay-items \
  -H "Authorization: Bearer $DAMEDOKLAD_API_KEY"

Create a pay item template. A premium rate below the statutory minimum is refused, except an agreed lower rate for night and weekend work

POST/v1/payroll/pay-items

Create a pay item template. A premium rate below the statutory minimum is refused, except an agreed lower rate for night and weekend work

MCP tool: create-payroll-pay-item

Request body

namestringrequiredmax 200 chars
category"bonus" | "premium" | "benefit"required
calc"fixed" | "per_shift" | "per_hour" | "percent_of_base" | "percent_of_average"required
treatment"taxable" | "benefit" | "health_care" | "meal_allowance" | "meal_voucher"
amountHalerintegermin 0max 9007199254740991
Integer amount in haléře: 100 = 1 Kč.
employeeAmountHalerintegermin 0max 9007199254740991
Integer amount in haléře: 100 = 1 Kč.
rateBpintegermin 0max 100000
hoursBasis"worked" | "overtime" | "night" | "weekend" | "holiday" | "difficult"
premiumKind"overtime" | "night" | "weekend" | "holiday" | "difficult" | null
agreedBelowStatutoryboolean
exemptGroup"none" | "health" | "leisure" | "recreation" | "retirement"
appliesToAllboolean
validFromstring | null
Date as YYYY-MM-DD.
validTostring | null
Date as YYYY-MM-DD.
isActiveboolean
notestring | null

Response · 201

idstringrequired
namestringrequired
categorystringrequired
calcstringrequired
treatmentstringrequired
amountHalerintegerrequired
employeeAmountHalerintegerrequired
rateBpintegerrequired
hoursBasisstringrequired
premiumKindnull | stringrequired
agreedBelowStatutorybooleanrequired
exemptGroupstringrequired
appliesToAllbooleanrequired
validFromnull | stringrequired
validTonull | stringrequired
isActivebooleanrequired
notestring | nullrequired
assignmentsobject[]required
contractIdnull | stringrequired
amountHalerinteger | nullrequired
rateBpinteger | nullrequired
validFromstring | nullrequired
validTostring | nullrequired
POST/v1/payroll/pay-items
curl -X POST https://api.damedoklad.cz/v1/payroll/pay-items \
  -H "Authorization: Bearer $DAMEDOKLAD_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
  "name": "Pekárna U Lípy s.r.o.",
  "category": "bonus",
  "calc": "fixed"
}'

Update a pay item template. Locked runs keep the values they were calculated with

PATCH/v1/payroll/pay-items/{id}

Update a pay item template. Locked runs keep the values they were calculated with

MCP tool: update-payroll-pay-item

Path parameters

idstringrequired

Request body

namestringmax 200 chars
category"bonus" | "premium" | "benefit"
calc"fixed" | "per_shift" | "per_hour" | "percent_of_base" | "percent_of_average"
treatment"taxable" | "benefit" | "health_care" | "meal_allowance" | "meal_voucher"
amountHalerintegermin 0max 9007199254740991
Integer amount in haléře: 100 = 1 Kč.
employeeAmountHalerintegermin 0max 9007199254740991
Integer amount in haléře: 100 = 1 Kč.
rateBpintegermin 0max 100000
hoursBasis"worked" | "overtime" | "night" | "weekend" | "holiday" | "difficult"
premiumKind"overtime" | "night" | "weekend" | "holiday" | "difficult" | null
agreedBelowStatutoryboolean
exemptGroup"none" | "health" | "leisure" | "recreation" | "retirement"
appliesToAllboolean
validFromstring | null
Date as YYYY-MM-DD.
validTostring | null
Date as YYYY-MM-DD.
isActiveboolean
notestring | null

Response · 200

idstringrequired
namestringrequired
categorystringrequired
calcstringrequired
treatmentstringrequired
amountHalerintegerrequired
employeeAmountHalerintegerrequired
rateBpintegerrequired
hoursBasisstringrequired
premiumKindnull | stringrequired
agreedBelowStatutorybooleanrequired
exemptGroupstringrequired
appliesToAllbooleanrequired
validFromnull | stringrequired
validTonull | stringrequired
isActivebooleanrequired
notestring | nullrequired
assignmentsobject[]required
contractIdnull | stringrequired
amountHalerinteger | nullrequired
rateBpinteger | nullrequired
validFromstring | nullrequired
validTostring | nullrequired
PATCH/v1/payroll/pay-items/{id}
curl -X PATCH https://api.damedoklad.cz/v1/payroll/pay-items/obj_2n9F4kT7wQ1xYz0aBcDeFgHiJkL \
  -H "Authorization: Bearer $DAMEDOKLAD_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
  "name": "Pekárna U Lípy s.r.o.",
  "category": "bonus",
  "calc": "fixed"
}'

Delete a pay item template and its assignments. Locked runs keep the amounts they already hold

DELETE/v1/payroll/pay-items/{id}

Delete a pay item template and its assignments. Locked runs keep the amounts they already hold

IrreversibleThis operation cannot be undone. MCP clients ask for confirmation first.

MCP tool: delete-payroll-pay-item

Path parameters

idstringrequired

Response · 200

idstringrequired
deletedbooleanrequired
DELETE/v1/payroll/pay-items/{id}
curl -X DELETE https://api.damedoklad.cz/v1/payroll/pay-items/obj_2n9F4kT7wQ1xYz0aBcDeFgHiJkL \
  -H "Authorization: Bearer $DAMEDOKLAD_API_KEY"

Set which contracts a pay item applies to, each optionally with its own amount, rate, and months

PUT/v1/payroll/pay-items/{id}/assignments

Set which contracts a pay item applies to, each optionally with its own amount, rate, and months

MCP tool: replace-payroll-pay-item-assignments

Path parameters

idstringrequired

Request body

assignmentsobject[]required
contractIdstringrequired
ID of the contract. Find it with list-contracts.
amountHalerinteger | null
Integer amount in haléře: 100 = 1 Kč.
rateBpinteger | null
validFromstring | null
Date as YYYY-MM-DD.
validTostring | null
Date as YYYY-MM-DD.

Response · 200

idstringrequired
namestringrequired
categorystringrequired
calcstringrequired
treatmentstringrequired
amountHalerintegerrequired
employeeAmountHalerintegerrequired
rateBpintegerrequired
hoursBasisstringrequired
premiumKindnull | stringrequired
agreedBelowStatutorybooleanrequired
exemptGroupstringrequired
appliesToAllbooleanrequired
validFromnull | stringrequired
validTonull | stringrequired
isActivebooleanrequired
notestring | nullrequired
assignmentsobject[]required
contractIdnull | stringrequired
amountHalerinteger | nullrequired
rateBpinteger | nullrequired
validFromstring | nullrequired
validTostring | nullrequired
PUT/v1/payroll/pay-items/{id}/assignments
curl -X PUT https://api.damedoklad.cz/v1/payroll/pay-items/obj_2n9F4kT7wQ1xYz0aBcDeFgHiJkL/assignments \
  -H "Authorization: Bearer $DAMEDOKLAD_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
  "assignments": [
    {
      "contractId": "obj_2n9F4kT7wQ1xYz0aBcDeFgHiJkL"
    }
  ]
}'

Statutory minimum premiums and benefit limits of a year, with the section of the Labour Code or the Income Tax Act

GET/v1/payroll/pay-items/statutory

Statutory minimum premiums and benefit limits of a year, with the section of the Labour Code or the Income Tax Act

MCP tool: get-payroll-statutory-premiums

Query parameters

yearintegerrequiredmin 2000max 2100

Response · 200

yearintegerrequired
premiumsobject[]required
kindstringrequired
minimumBpintegerrequired
basestringrequired
sectionstringrequired
agreeablebooleanrequired
mealExemptPerShiftHalerinteger | nullrequired
benefitLimitsobjectrequired
healthobjectrequired
limitHalerintegerrequired
sectionstringrequired
leisureobjectrequired
limitHalerinteger | nullrequired
sectionstringrequired
retirementobjectrequired
limitHalerintegerrequired
sectionstringrequired
recreationobject
limitHalerintegerrequired
sectionstringrequired
GET/v1/payroll/pay-items/statutory
curl https://api.damedoklad.cz/v1/payroll/pay-items/statutory \
  -H "Authorization: Bearer $DAMEDOKLAD_API_KEY"

List payroll payments. With status=due this is the list the bank module turns into payment orders: payouts, deductions, ČSSZ, health insurers, tax

GET/v1/payroll/payments

List payroll payments. With status=due this is the list the bank module turns into payment orders: payouts, deductions, ČSSZ, health insurers, tax

MCP tool: list-payroll-payments

Query parameters

limitintegermin 1max 500
offsetintegermin 0max 9007199254740991
searchstringmax 200 chars
fromstringYYYY-MM-DD
Date as YYYY-MM-DD.
tostringYYYY-MM-DD
Date as YYYY-MM-DD.
status"due" | "paid"
runIdstring
ID of the run.
kind"wage" | "reimbursement" | "social" | "health" | "tax_advance" | "tax_withholding" | "deduction"

Response · 200

dataobject[]required
object"payroll_payment"required
idstringrequired
runIdstringrequired
kindstringrequired
employeeIdnull | stringrequired
healthInsurerCodenull | stringrequired
recipientstringrequired
accountNumbernull | stringrequired
accountMissingbooleanrequired
variableSymbolnull | stringrequired
specificSymbolstring | nullrequired
constantSymbolnull | stringrequired
amountHalerintegerrequired
dueDatestringrequireddate
statusstringrequired
paidOnnull | stringrequireddate
journalEntryIdnull | stringrequired
cashEntryIdnull | stringrequired
totalinteger
Rows that match, on all pages.
hasMorebooleanrequired
More rows follow. Ask again with offset + the number of rows received.
GET/v1/payroll/payments
curl https://api.damedoklad.cz/v1/payroll/payments \
  -H "Authorization: Bearer $DAMEDOKLAD_API_KEY"

Mark a payroll payment as paid by hand. A transfer goes through a bank account, posts MD 331/336/342/379 / D 221xxx on its analytic, and a later statement line takes it over. Cash goes through a register with registerId

POST/v1/payroll/payments/{id}/paid

Mark a payroll payment as paid by hand. A transfer goes through a bank account, posts MD 331/336/342/379 / D 221xxx on its analytic, and a later statement line takes it over. Cash goes through a register with registerId

MCP tool: mark-payroll-payment-paid

Path parameters

idstringrequired

Request body

paidOnstringrequiredYYYY-MM-DD
Date as YYYY-MM-DD.
registerIdstring
ID of the register.
bankAccountIdstring
ID of the bank account. Find it with list-bank-accounts.

Response · 200

idstringrequired
runIdstringrequired
kindstringrequired
employeeIdnull | stringrequired
healthInsurerCodenull | stringrequired
recipientstringrequired
accountNumbernull | stringrequired
accountMissingbooleanrequired
variableSymbolnull | stringrequired
specificSymbolstring | nullrequired
constantSymbolnull | stringrequired
amountHalerintegerrequired
dueDatestringrequireddate
statusstringrequired
paidOnnull | stringrequireddate
journalEntryIdnull | stringrequired
cashEntryIdnull | stringrequired
POST/v1/payroll/payments/{id}/paid
curl -X POST https://api.damedoklad.cz/v1/payroll/payments/obj_2n9F4kT7wQ1xYz0aBcDeFgHiJkL/paid \
  -H "Authorization: Bearer $DAMEDOKLAD_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
  "paidOn": "2026-10-30"
}'

Undo a payment mark: reverses what it posted, and the hand-typed movement goes with it. A payment paired with a statement line is unpaired there

POST/v1/payroll/payments/{id}/unpaid

Undo a payment mark: reverses what it posted, and the hand-typed movement goes with it. A payment paired with a statement line is unpaired there

IrreversibleThis operation cannot be undone. MCP clients ask for confirmation first.

MCP tool: mark-payroll-payment-unpaid

Path parameters

idstringrequired

Response · 200

idstringrequired
runIdstringrequired
kindstringrequired
employeeIdnull | stringrequired
healthInsurerCodenull | stringrequired
recipientstringrequired
accountNumbernull | stringrequired
accountMissingbooleanrequired
variableSymbolnull | stringrequired
specificSymbolstring | nullrequired
constantSymbolnull | stringrequired
amountHalerintegerrequired
dueDatestringrequireddate
statusstringrequired
paidOnnull | stringrequireddate
journalEntryIdnull | stringrequired
cashEntryIdnull | stringrequired
POST/v1/payroll/payments/{id}/unpaid
curl -X POST https://api.damedoklad.cz/v1/payroll/payments/obj_2n9F4kT7wQ1xYz0aBcDeFgHiJkL/unpaid \
  -H "Authorization: Bearer $DAMEDOKLAD_API_KEY"

Free-form planning: net pay and employer cost for a gross monthly wage. Saves nothing

POST/v1/payroll/preview/gross-to-net

Free-form planning: net pay and employer cost for a gross monthly wage. Saves nothing

MCP tool: preview-payroll-gross-to-net

Request body

yearintegerrequiredmin -9007199254740991max 9007199254740991
type"hpp" | "dpc" | "dpp"
personobject
hasDeclarationboolean
childrenobject[]
ztppboolean
disability"none" | "first_second" | "third"
ztppboolean
pensionerDiscountboolean
healthMinimumExemptboolean
grossHalerintegerrequiredmin 0max 9007199254740991
Integer amount in haléře: 100 = 1 Kč.

Response · 200

grossHalerintegerrequired
netHalerintegerrequired
resultnull | objectrequired
yearintegerrequired
monthinteger | nullrequired
contractsobject[]required
contractIdnull | stringrequired
typestringrequired
centerOidanyrequired
Null in every recorded response.
activityOidanyrequired
Null in every recorded response.
projectOidanyrequired
Null in every recorded response.
allocationsobject[]required
centerOidanyrequired
Null in every recorded response.
activityOidanyrequired
Null in every recorded response.
projectOidanyrequired
Null in every recorded response.
shareBpintegerrequired
wageHalerintegerrequired
mealHalerintegerrequired
employerHalerintegerrequired
benefitsany[]required
benefitEmployerHalerintegerrequired
participatesbooleanrequired
smallScopeboolean | nullrequired
averageHourlyHalerinteger | nullrequired
attendanceobjectrequired
fromstringrequireddate
tostringrequireddate
activebooleanrequired
employedDaysintegerrequired
calendarDaysintegerrequired
fundFullMilliintegerrequired
fundEmployedMilliintegerrequired
workedMilliintegerrequired
weekendWorkedMilliintegerrequired
holidayWorkedMilliintegerrequired
holidayMilliintegerrequired
vacationMilliintegerrequired
sickPaidMilliintegerrequired
sickUnpaidMilliintegerrequired
ocrMilliintegerrequired
paidLeaveMilliintegerrequired
unpaidLeaveMilliintegerrequired
absentMilliintegerrequired
obstacleMilliintegerrequired
absenceInFundMilliintegerrequired
sickDaysintegerrequired
ocrDaysintegerrequired
healthExcludedDaysintegerrequired
workedDaysintegerrequired
shiftsintegerrequired
sickStreakAtEndintegerrequired
componentsarray | nullrequired
codenull | stringrequired
amountHalerinteger | nullrequired
hoursMilliintegerrequired
taxableHalerintegerrequired
grossHalerintegerrequired
sickPayHalerintegerrequired
mealExemptHalerintegerrequired
voucherEmployerHalerintegerrequired
socialBaseHalerintegerrequired
healthBaseHalerintegerrequired
socialEmployeeHalerintegerrequired
socialEmployerHalerintegerrequired
healthEmployeeHalerintegerrequired
healthEmployerHalerintegerrequired
costShareintegerrequired
insurableHalerinteger
grossHalerintegerrequired
taxableHalerintegerrequired
sickPayHalerintegerrequired
otherExemptHalerintegerrequired
mealExemptHalerintegerrequired
voucherEmployerHalerintegerrequired
voucherEmployeeHalerintegerrequired
benefitEmployerHalerintegerrequired
settlementanyrequired
Null in every recorded response.
socialobjectrequired
baseHalerinteger | nullrequired
employeeBeforeDiscountHalerintegerrequired
pensionerDiscountHalerintegerrequired
employeeHalerintegerrequired
employerHalerintegerrequired
employerDiscountBaseHalerintegerrequired
employerDiscountContractIdanyrequired
Null in every recorded response.
employerDiscountReasonanyrequired
Null in every recorded response.
healthobjectrequired
baseHalerinteger | nullrequired
minimumBaseHalerintegerrequired
shortfallHalerintegerrequired
employeeHalerintegerrequired
employerHalerintegerrequired
taxobjectrequired
withholdingBaseHalerintegerrequired
withholdingTaxHalerintegerrequired
separateBaseHalerintegerrequired
separateAdvanceHalerintegerrequired
advanceTaxableHalerintegerrequired
advanceBaseHalerintegerrequired
advanceHalerintegerrequired
personalCreditHalerintegerrequired
personalCreditClaimHalerintegerrequired
childCreditClaimHalerintegerrequired
childCreditHalerintegerrequired
bonusHalerintegerrequired
advanceAfterCreditsHalerintegerrequired
deductionsany[]required
attachmentLimitsobjectrequired
protectedHalerintegerrequired
thirdHalerintegerrequired
aboveHalerintegerrequired
priorityPoolHalerintegerrequired
otherPoolHalerintegerrequired
deductionsHalerintegerrequired
netHalerintegerrequired
payoutHalerintegerrequired
employerCostHalerintegerrequired
warningsany[]required
tipsHalerinteger
tipExemptHalerinteger
POST/v1/payroll/preview/gross-to-net
curl -X POST https://api.damedoklad.cz/v1/payroll/preview/gross-to-net \
  -H "Authorization: Bearer $DAMEDOKLAD_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
  "year": 2026,
  "grossHaler": 1210000
}'

Free-form planning: the smallest gross monthly wage that gives at least the wanted net pay. Saves nothing

POST/v1/payroll/preview/net-to-gross

Free-form planning: the smallest gross monthly wage that gives at least the wanted net pay. Saves nothing

MCP tool: preview-payroll-net-to-gross

Request body

yearintegerrequiredmin -9007199254740991max 9007199254740991
type"hpp" | "dpc" | "dpp"
personobject
hasDeclarationboolean
childrenobject[]
ztppboolean
disability"none" | "first_second" | "third"
ztppboolean
pensionerDiscountboolean
healthMinimumExemptboolean
netHalerintegerrequiredmin 0max 9007199254740991
Integer amount in haléře: 100 = 1 Kč.

Response · 200

grossHalerintegerrequired
netHalerintegerrequired
resultnull | objectrequired
yearintegerrequired
monthinteger | nullrequired
contractsobject[]required
contractIdnull | stringrequired
typestringrequired
centerOidanyrequired
Null in every recorded response.
activityOidanyrequired
Null in every recorded response.
projectOidanyrequired
Null in every recorded response.
allocationsobject[]required
centerOidanyrequired
Null in every recorded response.
activityOidanyrequired
Null in every recorded response.
projectOidanyrequired
Null in every recorded response.
shareBpintegerrequired
wageHalerintegerrequired
mealHalerintegerrequired
employerHalerintegerrequired
benefitsany[]required
benefitEmployerHalerintegerrequired
participatesbooleanrequired
smallScopeboolean | nullrequired
averageHourlyHalerinteger | nullrequired
attendanceobjectrequired
fromstringrequireddate
tostringrequireddate
activebooleanrequired
employedDaysintegerrequired
calendarDaysintegerrequired
fundFullMilliintegerrequired
fundEmployedMilliintegerrequired
workedMilliintegerrequired
weekendWorkedMilliintegerrequired
holidayWorkedMilliintegerrequired
holidayMilliintegerrequired
vacationMilliintegerrequired
sickPaidMilliintegerrequired
sickUnpaidMilliintegerrequired
ocrMilliintegerrequired
paidLeaveMilliintegerrequired
unpaidLeaveMilliintegerrequired
absentMilliintegerrequired
obstacleMilliintegerrequired
absenceInFundMilliintegerrequired
sickDaysintegerrequired
ocrDaysintegerrequired
healthExcludedDaysintegerrequired
workedDaysintegerrequired
shiftsintegerrequired
sickStreakAtEndintegerrequired
componentsarray | nullrequired
codenull | stringrequired
amountHalerinteger | nullrequired
hoursMilliintegerrequired
taxableHalerintegerrequired
grossHalerintegerrequired
sickPayHalerintegerrequired
mealExemptHalerintegerrequired
voucherEmployerHalerintegerrequired
socialBaseHalerintegerrequired
healthBaseHalerintegerrequired
socialEmployeeHalerintegerrequired
socialEmployerHalerintegerrequired
healthEmployeeHalerintegerrequired
healthEmployerHalerintegerrequired
costShareintegerrequired
insurableHalerinteger
grossHalerintegerrequired
taxableHalerintegerrequired
sickPayHalerintegerrequired
otherExemptHalerintegerrequired
mealExemptHalerintegerrequired
voucherEmployerHalerintegerrequired
voucherEmployeeHalerintegerrequired
benefitEmployerHalerintegerrequired
settlementanyrequired
Null in every recorded response.
socialobjectrequired
baseHalerinteger | nullrequired
employeeBeforeDiscountHalerintegerrequired
pensionerDiscountHalerintegerrequired
employeeHalerintegerrequired
employerHalerintegerrequired
employerDiscountBaseHalerintegerrequired
employerDiscountContractIdanyrequired
Null in every recorded response.
employerDiscountReasonanyrequired
Null in every recorded response.
healthobjectrequired
baseHalerinteger | nullrequired
minimumBaseHalerintegerrequired
shortfallHalerintegerrequired
employeeHalerintegerrequired
employerHalerintegerrequired
taxobjectrequired
withholdingBaseHalerintegerrequired
withholdingTaxHalerintegerrequired
separateBaseHalerintegerrequired
separateAdvanceHalerintegerrequired
advanceTaxableHalerintegerrequired
advanceBaseHalerintegerrequired
advanceHalerintegerrequired
personalCreditHalerintegerrequired
personalCreditClaimHalerintegerrequired
childCreditClaimHalerintegerrequired
childCreditHalerintegerrequired
bonusHalerintegerrequired
advanceAfterCreditsHalerintegerrequired
deductionsany[]required
attachmentLimitsobjectrequired
protectedHalerintegerrequired
thirdHalerintegerrequired
aboveHalerintegerrequired
priorityPoolHalerintegerrequired
otherPoolHalerintegerrequired
deductionsHalerintegerrequired
netHalerintegerrequired
payoutHalerintegerrequired
employerCostHalerintegerrequired
warningsany[]required
tipsHalerinteger
tipExemptHalerinteger
POST/v1/payroll/preview/net-to-gross
curl -X POST https://api.damedoklad.cz/v1/payroll/preview/net-to-gross \
  -H "Authorization: Bearer $DAMEDOKLAD_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
  "year": 2026,
  "netHaler": 1210000
}'

Get the legal payroll parameters of a year: average wage, minimum wage, rates, limits

GET/v1/payroll/rates

Get the legal payroll parameters of a year: average wage, minimum wage, rates, limits

MCP tool: get-payroll-rates

Query parameters

yearintegerrequiredmin 2000max 2100

Response · 200

supportedYearsinteger[]required
yearintegerrequired
averageWageintegerrequired
minimumWageMonthlyintegerrequired
minimumWageHourlyHalerintegerrequired
socialobjectrequired
employerBpintegerrequired
employeeBpintegerrequired
employeeSicknessBpintegerrequired
employeePensionBpintegerrequired
maxAssessmentBaseintegerrequired
pensionerDiscountBpintegerrequired
employerDiscountobjectrequired
bpintegerrequired
minWeeklyHoursintegerrequired
maxWeeklyHoursintegerrequired
maxMonthlyBaseintegerrequired
maxHourlyBaseintegerrequired
maxMonthlyHoursintegerrequired
participationobjectrequired
dppThresholdintegerrequired
smallScopeThresholdintegerrequired
healthobjectrequired
totalBpintegerrequired
minimumBaseintegerrequired
taxobjectrequired
rateBpinteger | nullrequired
higherRateBpintegerrequired
monthlyThresholdintegerrequired
withholdingRateBpintegerrequired
taxpayerCreditintegerrequired
disabilityFirstSecondCreditintegerrequired
disabilityThirdCreditintegerrequired
ztppCreditintegerrequired
childCreditsinteger[]required
minimumMonthlyBonusintegerrequired
bonusIncomeThresholdintegerrequired
separateAdvanceboolean
studentCreditinteger
studentAgeLimitinteger
doctoralAgeLimitinteger
sickPayobjectrequired
thresholdsHalerinteger[]required
weightsBpinteger[]required
rateBpinteger | nullrequired
paidCalendarDaysintegerrequired
premiumsobjectrequired
overtimeBpintegerrequired
nightBpintegerrequired
weekendBpintegerrequired
holidayBpintegerrequired
difficultBpOfMinimumWageintegerrequired
mealsobjectrequired
exemptPerShiftHalerinteger | nullrequired
minimumHoursPerShiftintegerrequired
attachmentsnull | objectrequired
baseSumintegerrequired
debtorShareBpintegerrequired
dependentDivisorintegerrequired
fullSeizureThresholdintegerrequired
insolvencyMonthlyWithVatHalerintegerrequired
benefitsobjectrequired
healthLimitHalerintegerrequired
leisureLimitHalerinteger | nullrequired
retirementLimitHalerintegerrequired
recreationLimitHalerinteger
healthCareOutsideIncomeboolean
agreementsobjectrequired
dppYearlyHoursintegerrequired
dpcWeeklyHoursintegerrequired
pendingobject
mealsstringrequired
attachmentsstringrequired
tipsobject
exemptShareBpintegerrequired
GET/v1/payroll/rates
curl https://api.damedoklad.cz/v1/payroll/rates \
  -H "Authorization: Bearer $DAMEDOKLAD_API_KEY"

Annual totals per employee from locked runs

GET/v1/payroll/reports/annual

Annual totals per employee from locked runs

MCP tool: get-payroll-annual-totals

Query parameters

yearintegerrequiredmin 2000max 2100

Response · 200

dataobject[]required
employeeIdnull | stringrequired
employeeNamestringrequired
monthsintegerrequired
grossHalerintegerrequired
socialEmployeeHalerintegerrequired
healthEmployeeHalerintegerrequired
taxHalerintegerrequired
bonusHalerintegerrequired
netHalerintegerrequired
employerCostHalerintegerrequired
totalintegerrequired
hasMorebooleanrequired
GET/v1/payroll/reports/annual
curl https://api.damedoklad.cz/v1/payroll/reports/annual \
  -H "Authorization: Bearer $DAMEDOKLAD_API_KEY"

Labour cost by month and by cost center, from locked runs

GET/v1/payroll/reports/costs

Labour cost by month and by cost center, from locked runs

MCP tool: get-payroll-cost-overview

Query parameters

yearintegerrequiredmin 2000max 2100

Response · 200

yearintegerrequired
monthsobject[]required
monthinteger | nullrequired
grossHalerintegerrequired
socialEmployerHalerintegerrequired
healthEmployerHalerintegerrequired
totalHalerinteger | nullrequired
centersobject[]required
centerIdnull | stringrequired
totalHalerinteger | nullrequired
GET/v1/payroll/reports/costs
curl https://api.damedoklad.cz/v1/payroll/reports/costs \
  -H "Authorization: Bearer $DAMEDOKLAD_API_KEY"

Mzdový list: one employee, month by month, from locked runs

GET/v1/payroll/reports/wage-sheet

Mzdový list: one employee, month by month, from locked runs

MCP tool: get-payroll-wage-sheet

Query parameters

yearintegerrequiredmin 2000max 2100
employeeIdstringrequired
ID of the employee.

Response · 200

yearintegerrequired
employeeIdnull | stringrequired
monthsobject[]required
monthinteger | nullrequired
grossHalerintegerrequired
socialEmployeeHalerintegerrequired
healthEmployeeHalerintegerrequired
taxHalerintegerrequired
withholdingHalerintegerrequired
bonusHalerintegerrequired
deductionsHalerintegerrequired
netHalerintegerrequired
payoutHalerintegerrequired
GET/v1/payroll/reports/wage-sheet
curl https://api.damedoklad.cz/v1/payroll/reports/wage-sheet \
  -H "Authorization: Bearer $DAMEDOKLAD_API_KEY"

Mzdový list as PDF

GET/v1/payroll/reports/wage-sheet.pdf

Mzdový list as PDF

MCP tool: get-payroll-wage-sheet-pdf

Query parameters

yearintegerrequiredmin 2000max 2100
employeeIdstringrequired
ID of the employee.

Response · 200

Returns a application/pdf file.

GET/v1/payroll/reports/wage-sheet.pdf
curl https://api.damedoklad.cz/v1/payroll/reports/wage-sheet.pdf \
  -H "Authorization: Bearer $DAMEDOKLAD_API_KEY" \
  -o soubor

List monthly payroll runs

GET/v1/payroll/runs

List monthly payroll runs

MCP tool: list-payroll-runs

Query parameters

limitintegermin 1max 500
offsetintegermin 0max 9007199254740991
searchstringmax 200 chars
fromstringYYYY-MM-DD
Date as YYYY-MM-DD.
tostringYYYY-MM-DD
Date as YYYY-MM-DD.
yearintegermin 2000max 2100

Response · 200

dataobject[]required
object"payroll_run"required
idstringrequired
yearintegerrequired
monthintegerrequired
periodstringrequired
statusstringrequired
paymentDatenull | stringrequireddate
totalsobjectrequired
netHalerintegerrequired
bonusHalerintegerrequired
grossHalerintegerrequired
payoutHalerintegerrequired
advanceHalerintegerrequired
sickPayHalerintegerrequired
taxableHalerintegerrequired
employeeCountintegerrequired
deductionsHalerintegerrequired
healthBaseHalerintegerrequired
mealExemptHalerintegerrequired
socialBaseHalerintegerrequired
employerCostHalerintegerrequired
healthPayableHalerintegerrequired
socialPayableHalerintegerrequired
advanceCarryInHalerintegerrequired
advancePayableHalerintegerrequired
healthEmployeeHalerintegerrequired
healthEmployerHalerintegerrequired
socialEmployeeHalerintegerrequired
socialEmployerHalerintegerrequired
withholdingTaxHalerintegerrequired
advanceCarryOutHalerintegerrequired
benefitEmployerHalerintegerrequired
voucherEmployeeHalerintegerrequired
voucherEmployerHalerintegerrequired
employerDiscountHalerintegerrequired
pensionerDiscountHalerintegerrequired
employerDiscountBaseHalerintegerrequired
settlementBonusTopupHalerintegerrequired
settlementOverpaymentHalerintegerrequired
socialEmployeeBeforeDiscountHalerintegerrequired
journalEntryIdnull | stringrequired
reviewedAtnull | stringrequireddate-time
lockedAtnull | stringrequireddate-time
notenull | stringrequired
tipFoodIncomeHalerinteger | null
itemsobject[]
object"payroll_run_item"required
idstringrequired
runIdstringrequired
employeeIdstringrequired
employeeNamestringrequired
healthInsurerCodenull | stringrequired
grossHalerintegerrequired
taxableHalerintegerrequired
netHalerintegerrequired
payoutHalerintegerrequired
employerCostHalerintegerrequired
socialEmployeeHalerintegerrequired
socialEmployerHalerintegerrequired
healthEmployeeHalerintegerrequired
healthEmployerHalerintegerrequired
taxHalerintegerrequired
bonusHalerintegerrequired
withholdingHalerintegerrequired
deductionsHalerintegerrequired
warningsobject[]required
codenull | stringrequired
amountHalerinteger | null
deductionIdnull | string
resultobjectrequired
taxobjectrequired
yearintegerrequired
monthinteger | nullrequired
healthobjectrequired
socialobjectrequired
netHalerintegerrequired
warningsobject[]required
contractsobject[]required
deductionsobject[]required
grossHalerintegerrequired
settlementnull | objectrequired
payoutHalerintegerrequired
sickPayHalerintegerrequired
taxableHalerintegerrequired
deductionsHalerintegerrequired
mealExemptHalerintegerrequired
attachmentLimitsobjectrequired
otherExemptHalerintegerrequired
employerCostHalerintegerrequired
benefitEmployerHalerintegerrequired
voucherEmployeeHalerintegerrequired
voucherEmployerHalerintegerrequired
reimbursementsobject[]
reimbursementHalerinteger
reimbursementVatHalerinteger
tipsHalerinteger
tipExemptHalerinteger
totalinteger
Rows that match, on all pages.
hasMorebooleanrequired
More rows follow. Ask again with offset + the number of rows received.
GET/v1/payroll/runs
curl https://api.damedoklad.cz/v1/payroll/runs \
  -H "Authorization: Bearer $DAMEDOKLAD_API_KEY"

Start the payroll of a month as a draft and calculate every employee with a contract in that month

POST/v1/payroll/runs

Start the payroll of a month as a draft and calculate every employee with a contract in that month

MCP tool: create-payroll-run

Request body

yearintegerrequiredmin -9007199254740991max 9007199254740991
monthintegerrequiredmin 1max 12
paymentDatestringYYYY-MM-DD
Date as YYYY-MM-DD.
tipFoodIncomeHalerinteger | null
Integer amount in haléře: 100 = 1 Kč.

Response · 201

idstringrequired
yearintegerrequired
monthintegerrequired
periodstringrequired
statusstringrequired
paymentDatenull | stringrequireddate
totalsobjectrequired
netHalerintegerrequired
bonusHalerintegerrequired
grossHalerintegerrequired
payoutHalerintegerrequired
advanceHalerintegerrequired
sickPayHalerintegerrequired
taxableHalerintegerrequired
employeeCountintegerrequired
deductionsHalerintegerrequired
healthBaseHalerintegerrequired
mealExemptHalerintegerrequired
socialBaseHalerintegerrequired
employerCostHalerintegerrequired
healthPayableHalerintegerrequired
socialPayableHalerintegerrequired
advanceCarryInHalerintegerrequired
advancePayableHalerintegerrequired
healthEmployeeHalerintegerrequired
healthEmployerHalerintegerrequired
socialEmployeeHalerintegerrequired
socialEmployerHalerintegerrequired
withholdingTaxHalerintegerrequired
advanceCarryOutHalerintegerrequired
benefitEmployerHalerintegerrequired
voucherEmployeeHalerintegerrequired
voucherEmployerHalerintegerrequired
employerDiscountHalerintegerrequired
pensionerDiscountHalerintegerrequired
employerDiscountBaseHalerintegerrequired
settlementBonusTopupHalerintegerrequired
settlementOverpaymentHalerintegerrequired
socialEmployeeBeforeDiscountHalerintegerrequired
journalEntryIdnull | stringrequired
reviewedAtnull | stringrequireddate-time
lockedAtnull | stringrequireddate-time
notenull | stringrequired
tipFoodIncomeHalerinteger | null
itemsobject[]
object"payroll_run_item"required
idstringrequired
runIdstringrequired
employeeIdstringrequired
employeeNamestringrequired
healthInsurerCodenull | stringrequired
grossHalerintegerrequired
taxableHalerintegerrequired
netHalerintegerrequired
payoutHalerintegerrequired
employerCostHalerintegerrequired
socialEmployeeHalerintegerrequired
socialEmployerHalerintegerrequired
healthEmployeeHalerintegerrequired
healthEmployerHalerintegerrequired
taxHalerintegerrequired
bonusHalerintegerrequired
withholdingHalerintegerrequired
deductionsHalerintegerrequired
warningsobject[]required
codenull | stringrequired
amountHalerinteger | null
deductionIdnull | string
resultobjectrequired
taxobjectrequired
bonusHalerintegerrequired
advanceHalerintegerrequired
advanceBaseHalerintegerrequired
childCreditHalerintegerrequired
separateBaseHalerintegerrequired
advanceTaxableHalerintegerrequired
personalCreditHalerintegerrequired
withholdingTaxHalerintegerrequired
separateAdvanceHalerintegerrequired
withholdingBaseHalerintegerrequired
childCreditClaimHalerintegerrequired
advanceAfterCreditsHalerintegerrequired
personalCreditClaimHalerintegerrequired
separateDppboolean
separateOtherboolean
multiMonthobject
yearintegerrequired
monthinteger | nullrequired
healthobjectrequired
baseHalerinteger | nullrequired
employeeHalerintegerrequired
employerHalerintegerrequired
shortfallHalerintegerrequired
minimumBaseHalerintegerrequired
socialobjectrequired
baseHalerinteger | nullrequired
employeeHalerintegerrequired
employerHalerintegerrequired
employerDiscountReasonanyrequired
Null in every recorded response.
pensionerDiscountHalerintegerrequired
employerDiscountBaseHalerintegerrequired
employerDiscountContractIdnull | stringrequired
employeeBeforeDiscountHalerintegerrequired
netHalerintegerrequired
warningsobject[]required
codenull | stringrequired
amountHalerinteger | null
deductionIdnull | string
contractsobject[]required
typestringrequired
benefitsobject[]required
centerOidnull | stringrequired
costShareintegerrequired
attendanceobjectrequired
componentsarray | nullrequired
contractIdnull | stringrequired
grossHalerintegerrequired
projectOidanyrequired
Null in every recorded response.
smallScopeboolean | nullrequired
activityOidanyrequired
Null in every recorded response.
allocationsobject[]required
participatesbooleanrequired
sickPayHalerintegerrequired
taxableHalerintegerrequired
healthBaseHalerintegerrequired
mealExemptHalerintegerrequired
socialBaseHalerintegerrequired
averageHourlyHalerinteger | nullrequired
healthEmployeeHalerintegerrequired
healthEmployerHalerintegerrequired
socialEmployeeHalerintegerrequired
socialEmployerHalerintegerrequired
benefitEmployerHalerintegerrequired
voucherEmployerHalerintegerrequired
insurableHalerinteger
deductionsobject[]required
idnull | stringrequired
kindstringrequired
amountHalerinteger | nullrequired
requestedHalerintegerrequired
namenull | string
accountNumbernull | string
remainingHalerinteger | null
specificSymbolstring | null
variableSymbolnull | string
grossHalerintegerrequired
settlementnull | objectrequired
idstringrequired
yearintegerrequired
totalHalerinteger | nullrequired
bonusTopupHalerintegerrequired
overpaymentHalerintegerrequired
payoutHalerintegerrequired
sickPayHalerintegerrequired
taxableHalerintegerrequired
deductionsHalerintegerrequired
mealExemptHalerintegerrequired
attachmentLimitsobjectrequired
aboveHalerintegerrequired
thirdHalerintegerrequired
otherPoolHalerintegerrequired
protectedHalerintegerrequired
priorityPoolHalerintegerrequired
otherExemptHalerintegerrequired
employerCostHalerintegerrequired
benefitEmployerHalerintegerrequired
voucherEmployeeHalerintegerrequired
voucherEmployerHalerintegerrequired
reimbursementsobject[]
idstringrequired
amountHalerinteger | nullrequired
descriptionnull | stringrequired
travelOrderIdstringrequired
reimbursementHalerinteger
reimbursementVatHalerinteger
tipsHalerinteger
tipExemptHalerinteger
POST/v1/payroll/runs
curl -X POST https://api.damedoklad.cz/v1/payroll/runs \
  -H "Authorization: Bearer $DAMEDOKLAD_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
  "year": 2026,
  "month": 1
}'

Get a payroll run with the calculation of every employee

GET/v1/payroll/runs/{id}

Get a payroll run with the calculation of every employee

MCP tool: get-payroll-run

Path parameters

idstringrequired

Response · 200

idstringrequired
yearintegerrequired
monthintegerrequired
periodstringrequired
statusstringrequired
paymentDatenull | stringrequireddate
totalsobjectrequired
netHalerintegerrequired
bonusHalerintegerrequired
grossHalerintegerrequired
payoutHalerintegerrequired
advanceHalerintegerrequired
sickPayHalerintegerrequired
taxableHalerintegerrequired
employeeCountintegerrequired
deductionsHalerintegerrequired
healthBaseHalerintegerrequired
mealExemptHalerintegerrequired
socialBaseHalerintegerrequired
employerCostHalerintegerrequired
healthPayableHalerintegerrequired
socialPayableHalerintegerrequired
advanceCarryInHalerintegerrequired
advancePayableHalerintegerrequired
healthEmployeeHalerintegerrequired
healthEmployerHalerintegerrequired
socialEmployeeHalerintegerrequired
socialEmployerHalerintegerrequired
withholdingTaxHalerintegerrequired
advanceCarryOutHalerintegerrequired
benefitEmployerHalerintegerrequired
voucherEmployeeHalerintegerrequired
voucherEmployerHalerintegerrequired
employerDiscountHalerintegerrequired
pensionerDiscountHalerintegerrequired
employerDiscountBaseHalerintegerrequired
settlementBonusTopupHalerintegerrequired
settlementOverpaymentHalerintegerrequired
socialEmployeeBeforeDiscountHalerintegerrequired
journalEntryIdnull | stringrequired
reviewedAtnull | stringrequireddate-time
lockedAtnull | stringrequireddate-time
notenull | stringrequired
tipFoodIncomeHalerinteger | null
itemsobject[]
object"payroll_run_item"required
idstringrequired
runIdstringrequired
employeeIdstringrequired
employeeNamestringrequired
healthInsurerCodenull | stringrequired
grossHalerintegerrequired
taxableHalerintegerrequired
netHalerintegerrequired
payoutHalerintegerrequired
employerCostHalerintegerrequired
socialEmployeeHalerintegerrequired
socialEmployerHalerintegerrequired
healthEmployeeHalerintegerrequired
healthEmployerHalerintegerrequired
taxHalerintegerrequired
bonusHalerintegerrequired
withholdingHalerintegerrequired
deductionsHalerintegerrequired
warningsobject[]required
codenull | stringrequired
amountHalerinteger | null
deductionIdnull | string
resultobjectrequired
taxobjectrequired
bonusHalerintegerrequired
advanceHalerintegerrequired
advanceBaseHalerintegerrequired
childCreditHalerintegerrequired
separateBaseHalerintegerrequired
advanceTaxableHalerintegerrequired
personalCreditHalerintegerrequired
withholdingTaxHalerintegerrequired
separateAdvanceHalerintegerrequired
withholdingBaseHalerintegerrequired
childCreditClaimHalerintegerrequired
advanceAfterCreditsHalerintegerrequired
personalCreditClaimHalerintegerrequired
separateDppboolean
separateOtherboolean
multiMonthobject
yearintegerrequired
monthinteger | nullrequired
healthobjectrequired
baseHalerinteger | nullrequired
employeeHalerintegerrequired
employerHalerintegerrequired
shortfallHalerintegerrequired
minimumBaseHalerintegerrequired
socialobjectrequired
baseHalerinteger | nullrequired
employeeHalerintegerrequired
employerHalerintegerrequired
employerDiscountReasonanyrequired
Null in every recorded response.
pensionerDiscountHalerintegerrequired
employerDiscountBaseHalerintegerrequired
employerDiscountContractIdnull | stringrequired
employeeBeforeDiscountHalerintegerrequired
netHalerintegerrequired
warningsobject[]required
codenull | stringrequired
amountHalerinteger | null
deductionIdnull | string
contractsobject[]required
typestringrequired
benefitsobject[]required
centerOidnull | stringrequired
costShareintegerrequired
attendanceobjectrequired
componentsarray | nullrequired
contractIdnull | stringrequired
grossHalerintegerrequired
projectOidanyrequired
Null in every recorded response.
smallScopeboolean | nullrequired
activityOidanyrequired
Null in every recorded response.
allocationsobject[]required
participatesbooleanrequired
sickPayHalerintegerrequired
taxableHalerintegerrequired
healthBaseHalerintegerrequired
mealExemptHalerintegerrequired
socialBaseHalerintegerrequired
averageHourlyHalerinteger | nullrequired
healthEmployeeHalerintegerrequired
healthEmployerHalerintegerrequired
socialEmployeeHalerintegerrequired
socialEmployerHalerintegerrequired
benefitEmployerHalerintegerrequired
voucherEmployerHalerintegerrequired
insurableHalerinteger
deductionsobject[]required
idnull | stringrequired
kindstringrequired
amountHalerinteger | nullrequired
requestedHalerintegerrequired
namenull | string
accountNumbernull | string
remainingHalerinteger | null
specificSymbolstring | null
variableSymbolnull | string
grossHalerintegerrequired
settlementnull | objectrequired
idstringrequired
yearintegerrequired
totalHalerinteger | nullrequired
bonusTopupHalerintegerrequired
overpaymentHalerintegerrequired
payoutHalerintegerrequired
sickPayHalerintegerrequired
taxableHalerintegerrequired
deductionsHalerintegerrequired
mealExemptHalerintegerrequired
attachmentLimitsobjectrequired
aboveHalerintegerrequired
thirdHalerintegerrequired
otherPoolHalerintegerrequired
protectedHalerintegerrequired
priorityPoolHalerintegerrequired
otherExemptHalerintegerrequired
employerCostHalerintegerrequired
benefitEmployerHalerintegerrequired
voucherEmployeeHalerintegerrequired
voucherEmployerHalerintegerrequired
reimbursementsobject[]
idstringrequired
amountHalerinteger | nullrequired
descriptionnull | stringrequired
travelOrderIdstringrequired
reimbursementHalerinteger
reimbursementVatHalerinteger
tipsHalerinteger
tipExemptHalerinteger
GET/v1/payroll/runs/{id}
curl https://api.damedoklad.cz/v1/payroll/runs/obj_2n9F4kT7wQ1xYz0aBcDeFgHiJkL \
  -H "Authorization: Bearer $DAMEDOKLAD_API_KEY"

Change the payment date, the note, or the month's food service income behind the exempt tips (§ 6 odst. 9 písm. g) ZDP from 2027) of a payroll run that is not locked. A new income recalculates the run

PATCH/v1/payroll/runs/{id}

Change the payment date, the note, or the month's food service income behind the exempt tips (§ 6 odst. 9 písm. g) ZDP from 2027) of a payroll run that is not locked. A new income recalculates the run

MCP tool: update-payroll-run

Path parameters

idstringrequired

Request body

paymentDatestring | null
Date as YYYY-MM-DD.
notestring | null
tipFoodIncomeHalerinteger | null
Integer amount in haléře: 100 = 1 Kč.

Response · 200

idstringrequired
yearintegerrequired
monthintegerrequired
periodstringrequired
statusstringrequired
paymentDatenull | stringrequireddate
totalsobjectrequired
netHalerintegerrequired
bonusHalerintegerrequired
grossHalerintegerrequired
payoutHalerintegerrequired
advanceHalerintegerrequired
sickPayHalerintegerrequired
taxableHalerintegerrequired
employeeCountintegerrequired
deductionsHalerintegerrequired
healthBaseHalerintegerrequired
mealExemptHalerintegerrequired
socialBaseHalerintegerrequired
employerCostHalerintegerrequired
healthPayableHalerintegerrequired
socialPayableHalerintegerrequired
advanceCarryInHalerintegerrequired
advancePayableHalerintegerrequired
healthEmployeeHalerintegerrequired
healthEmployerHalerintegerrequired
socialEmployeeHalerintegerrequired
socialEmployerHalerintegerrequired
withholdingTaxHalerintegerrequired
advanceCarryOutHalerintegerrequired
benefitEmployerHalerintegerrequired
voucherEmployeeHalerintegerrequired
voucherEmployerHalerintegerrequired
employerDiscountHalerintegerrequired
pensionerDiscountHalerintegerrequired
employerDiscountBaseHalerintegerrequired
settlementBonusTopupHalerintegerrequired
settlementOverpaymentHalerintegerrequired
socialEmployeeBeforeDiscountHalerintegerrequired
journalEntryIdnull | stringrequired
reviewedAtnull | stringrequireddate-time
lockedAtnull | stringrequireddate-time
notenull | stringrequired
tipFoodIncomeHalerinteger | null
itemsobject[]
object"payroll_run_item"required
idstringrequired
runIdstringrequired
employeeIdstringrequired
employeeNamestringrequired
healthInsurerCodenull | stringrequired
grossHalerintegerrequired
taxableHalerintegerrequired
netHalerintegerrequired
payoutHalerintegerrequired
employerCostHalerintegerrequired
socialEmployeeHalerintegerrequired
socialEmployerHalerintegerrequired
healthEmployeeHalerintegerrequired
healthEmployerHalerintegerrequired
taxHalerintegerrequired
bonusHalerintegerrequired
withholdingHalerintegerrequired
deductionsHalerintegerrequired
warningsobject[]required
codenull | stringrequired
amountHalerinteger | null
deductionIdnull | string
resultobjectrequired
taxobjectrequired
bonusHalerintegerrequired
advanceHalerintegerrequired
advanceBaseHalerintegerrequired
childCreditHalerintegerrequired
separateBaseHalerintegerrequired
advanceTaxableHalerintegerrequired
personalCreditHalerintegerrequired
withholdingTaxHalerintegerrequired
separateAdvanceHalerintegerrequired
withholdingBaseHalerintegerrequired
childCreditClaimHalerintegerrequired
advanceAfterCreditsHalerintegerrequired
personalCreditClaimHalerintegerrequired
separateDppboolean
separateOtherboolean
multiMonthobject
yearintegerrequired
monthinteger | nullrequired
healthobjectrequired
baseHalerinteger | nullrequired
employeeHalerintegerrequired
employerHalerintegerrequired
shortfallHalerintegerrequired
minimumBaseHalerintegerrequired
socialobjectrequired
baseHalerinteger | nullrequired
employeeHalerintegerrequired
employerHalerintegerrequired
employerDiscountReasonanyrequired
Null in every recorded response.
pensionerDiscountHalerintegerrequired
employerDiscountBaseHalerintegerrequired
employerDiscountContractIdnull | stringrequired
employeeBeforeDiscountHalerintegerrequired
netHalerintegerrequired
warningsobject[]required
codenull | stringrequired
amountHalerinteger | null
deductionIdnull | string
contractsobject[]required
typestringrequired
benefitsobject[]required
centerOidnull | stringrequired
costShareintegerrequired
attendanceobjectrequired
componentsarray | nullrequired
contractIdnull | stringrequired
grossHalerintegerrequired
projectOidanyrequired
Null in every recorded response.
smallScopeboolean | nullrequired
activityOidanyrequired
Null in every recorded response.
allocationsobject[]required
participatesbooleanrequired
sickPayHalerintegerrequired
taxableHalerintegerrequired
healthBaseHalerintegerrequired
mealExemptHalerintegerrequired
socialBaseHalerintegerrequired
averageHourlyHalerinteger | nullrequired
healthEmployeeHalerintegerrequired
healthEmployerHalerintegerrequired
socialEmployeeHalerintegerrequired
socialEmployerHalerintegerrequired
benefitEmployerHalerintegerrequired
voucherEmployerHalerintegerrequired
insurableHalerinteger
deductionsobject[]required
idnull | stringrequired
kindstringrequired
amountHalerinteger | nullrequired
requestedHalerintegerrequired
namenull | string
accountNumbernull | string
remainingHalerinteger | null
specificSymbolstring | null
variableSymbolnull | string
grossHalerintegerrequired
settlementnull | objectrequired
idstringrequired
yearintegerrequired
totalHalerinteger | nullrequired
bonusTopupHalerintegerrequired
overpaymentHalerintegerrequired
payoutHalerintegerrequired
sickPayHalerintegerrequired
taxableHalerintegerrequired
deductionsHalerintegerrequired
mealExemptHalerintegerrequired
attachmentLimitsobjectrequired
aboveHalerintegerrequired
thirdHalerintegerrequired
otherPoolHalerintegerrequired
protectedHalerintegerrequired
priorityPoolHalerintegerrequired
otherExemptHalerintegerrequired
employerCostHalerintegerrequired
benefitEmployerHalerintegerrequired
voucherEmployeeHalerintegerrequired
voucherEmployerHalerintegerrequired
reimbursementsobject[]
idstringrequired
amountHalerinteger | nullrequired
descriptionnull | stringrequired
travelOrderIdstringrequired
reimbursementHalerinteger
reimbursementVatHalerinteger
tipsHalerinteger
tipExemptHalerinteger
PATCH/v1/payroll/runs/{id}
curl -X PATCH https://api.damedoklad.cz/v1/payroll/runs/obj_2n9F4kT7wQ1xYz0aBcDeFgHiJkL \
  -H "Authorization: Bearer $DAMEDOKLAD_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
  "paymentDate": "2026-10-30",
  "note": "string",
  "tipFoodIncomeHaler": 1210000
}'

Delete a payroll run that is not locked

DELETE/v1/payroll/runs/{id}

Delete a payroll run that is not locked

IrreversibleThis operation cannot be undone. MCP clients ask for confirmation first.

MCP tool: delete-payroll-run

Path parameters

idstringrequired

Response · 200

idstringrequired
deletedbooleanrequired
DELETE/v1/payroll/runs/{id}
curl -X DELETE https://api.damedoklad.cz/v1/payroll/runs/obj_2n9F4kT7wQ1xYz0aBcDeFgHiJkL \
  -H "Authorization: Bearer $DAMEDOKLAD_API_KEY"

Overview of what a month must report: social insurance, each health insurer, tax, and whether the JMHZ XML is ready

GET/v1/payroll/runs/{id}/filings

Overview of what a month must report: social insurance, each health insurer, tax, and whether the JMHZ XML is ready

MCP tool: get-payroll-filings

Path parameters

idstringrequired

Response · 200

runIdnull | stringrequired
statusstringrequired
totalsobjectrequired
netHalerintegerrequired
bonusHalerintegerrequired
grossHalerintegerrequired
payoutHalerintegerrequired
advanceHalerintegerrequired
sickPayHalerintegerrequired
taxableHalerintegerrequired
employeeCountintegerrequired
deductionsHalerintegerrequired
healthBaseHalerintegerrequired
mealExemptHalerintegerrequired
socialBaseHalerintegerrequired
employerCostHalerintegerrequired
healthPayableHalerintegerrequired
socialPayableHalerintegerrequired
advanceCarryInHalerintegerrequired
advancePayableHalerintegerrequired
healthEmployeeHalerintegerrequired
healthEmployerHalerintegerrequired
socialEmployeeHalerintegerrequired
socialEmployerHalerintegerrequired
withholdingTaxHalerintegerrequired
advanceCarryOutHalerintegerrequired
benefitEmployerHalerintegerrequired
voucherEmployeeHalerintegerrequired
voucherEmployerHalerintegerrequired
employerDiscountHalerintegerrequired
pensionerDiscountHalerintegerrequired
employerDiscountBaseHalerintegerrequired
settlementBonusTopupHalerintegerrequired
settlementOverpaymentHalerintegerrequired
socialEmployeeBeforeDiscountHalerintegerrequired
insurersobject[]required
codenull | stringrequired
namenull | stringrequired
xmlFilebooleanrequired
employeeCountintegerrequired
baseHalerinteger | nullrequired
premiumHalerintegerrequired
jmhzProblemsstring[]required
filingsobject[]required
kindstringrequired
typestringrequired
guidnull | stringrequired
generatedAtstringrequireddate-time
submittedAtnull | stringrequireddate-time
GET/v1/payroll/runs/{id}/filings
curl https://api.damedoklad.cz/v1/payroll/runs/obj_2n9F4kT7wQ1xYz0aBcDeFgHiJkL/filings \
  -H "Authorization: Bearer $DAMEDOKLAD_API_KEY"

Record that a filing was submitted to the authority. DameDoklad does not submit it for you

POST/v1/payroll/runs/{id}/filings/{kind}/submitted

Record that a filing was submitted to the authority. DameDoklad does not submit it for you

MCP tool: mark-payroll-filing-submitted

Path parameters

idstringrequired
kindstringrequired

Request body

notestring | null

Response · 200

runIdnull | stringrequired
kindstringrequired
submittedAtnull | stringrequireddate-time
POST/v1/payroll/runs/{id}/filings/{kind}/submitted
curl -X POST https://api.damedoklad.cz/v1/payroll/runs/obj_2n9F4kT7wQ1xYz0aBcDeFgHiJkL/filings/obj_2n9F4kT7wQ1xYz0aBcDeFgHiJkL/submitted \
  -H "Authorization: Bearer $DAMEDOKLAD_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
  "note": "string"
}'

Přehled o platbě pojistného as the fixed-length file VZP publishes (methodology 3.8.1.2), for VZP only. Other insurers have `health.xml`

GET/v1/payroll/runs/{id}/filings/health.aap

Přehled o platbě pojistného as the fixed-length file VZP publishes (methodology 3.8.1.2), for VZP only. Other insurers have `health.xml`

MCP tool: get-payroll-health-overview-file

Path parameters

idstringrequired

Response · 200

Returns a text/plain file.

GET/v1/payroll/runs/{id}/filings/health.aap
curl https://api.damedoklad.cz/v1/payroll/runs/obj_2n9F4kT7wQ1xYz0aBcDeFgHiJkL/filings/health.aap \
  -H "Authorization: Bearer $DAMEDOKLAD_API_KEY" \
  -o soubor

Přehled o platbě pojistného for one health insurer as a working paper in PDF. It is not the insurer's own form; VZP also has the file `health.aap`

GET/v1/payroll/runs/{id}/filings/health.pdf

Přehled o platbě pojistného for one health insurer as a working paper in PDF. It is not the insurer's own form; VZP also has the file `health.aap`

MCP tool: get-payroll-health-overview-pdf

Path parameters

idstringrequired

Query parameters

insurer"111" | "201" | "205" | "207" | "209" | "211" | "213"required

Response · 200

Returns a application/pdf file.

GET/v1/payroll/runs/{id}/filings/health.pdf
curl https://api.damedoklad.cz/v1/payroll/runs/obj_2n9F4kT7wQ1xYz0aBcDeFgHiJkL/filings/health.pdf \
  -H "Authorization: Bearer $DAMEDOKLAD_API_KEY" \
  -o soubor

Přehled o platbě pojistného as the shared XML of the insurers (prehledPlatbyZamestnavatele v8), for ČPZP, OZP and ZP MV ČR, which publish it. Valid against the XSD. Refused for an insurer whose own publication of the format was not found

GET/v1/payroll/runs/{id}/filings/health.xml

Přehled o platbě pojistného as the shared XML of the insurers (prehledPlatbyZamestnavatele v8), for ČPZP, OZP and ZP MV ČR, which publish it. Valid against the XSD. Refused for an insurer whose own publication of the format was not found

MCP tool: get-payroll-health-overview-xml

Path parameters

idstringrequired

Query parameters

insurer"111" | "201" | "205" | "207" | "209" | "211" | "213"required
type"radny" | "opravny"

Response · 200

Returns a application/xml file.

GET/v1/payroll/runs/{id}/filings/health.xml
curl https://api.damedoklad.cz/v1/payroll/runs/obj_2n9F4kT7wQ1xYz0aBcDeFgHiJkL/filings/health.xml \
  -H "Authorization: Bearer $DAMEDOKLAD_API_KEY" \
  -o soubor

Export the jednotné měsíční hlášení zaměstnavatele as XML: schema MH 1.4.3.6, or MH 1.5.0.3 for months from January 2027. ČSSZ still calls 1.5 a final draft. Requires a locked run, the ČSSZ variable symbol, IK MPSV, and idPpv

GET/v1/payroll/runs/{id}/filings/jmhz.xml

Export the jednotné měsíční hlášení zaměstnavatele as XML: schema MH 1.4.3.6, or MH 1.5.0.3 for months from January 2027. ČSSZ still calls 1.5 a final draft. Requires a locked run, the ČSSZ variable symbol, IK MPSV, and idPpv

MCP tool: get-payroll-jmhz-xml

Path parameters

idstringrequired

Query parameters

type"R" | "O" | "S"

Response · 200

Returns a application/xml file.

GET/v1/payroll/runs/{id}/filings/jmhz.xml
curl https://api.damedoklad.cz/v1/payroll/runs/obj_2n9F4kT7wQ1xYz0aBcDeFgHiJkL/filings/jmhz.xml \
  -H "Authorization: Bearer $DAMEDOKLAD_API_KEY" \
  -o soubor

Přehled o výši pojistného as PDF. From 2026 this is a working paper, the figures are filed in the JMHZ

GET/v1/payroll/runs/{id}/filings/social.pdf

Přehled o výši pojistného as PDF. From 2026 this is a working paper, the figures are filed in the JMHZ

MCP tool: get-payroll-social-overview-pdf

Path parameters

idstringrequired

Response · 200

Returns a application/pdf file.

GET/v1/payroll/runs/{id}/filings/social.pdf
curl https://api.damedoklad.cz/v1/payroll/runs/obj_2n9F4kT7wQ1xYz0aBcDeFgHiJkL/filings/social.pdf \
  -H "Authorization: Bearer $DAMEDOKLAD_API_KEY" \
  -o soubor

Monthly tax overview as PDF: advances, bonuses, and withholding tax per employee

GET/v1/payroll/runs/{id}/filings/tax.pdf

Monthly tax overview as PDF: advances, bonuses, and withholding tax per employee

MCP tool: get-payroll-tax-overview-pdf

Path parameters

idstringrequired

Response · 200

Returns a application/pdf file.

GET/v1/payroll/runs/{id}/filings/tax.pdf
curl https://api.damedoklad.cz/v1/payroll/runs/obj_2n9F4kT7wQ1xYz0aBcDeFgHiJkL/filings/tax.pdf \
  -H "Authorization: Bearer $DAMEDOKLAD_API_KEY" \
  -o soubor

Lock a reviewed run: posts to the books in double entry and creates the payments that fall due

POST/v1/payroll/runs/{id}/lock

Lock a reviewed run: posts to the books in double entry and creates the payments that fall due

IrreversibleThis operation cannot be undone. MCP clients ask for confirmation first.

MCP tool: lock-payroll-run

Path parameters

idstringrequired

Response · 200

idstringrequired
yearintegerrequired
monthintegerrequired
periodstringrequired
statusstringrequired
paymentDatenull | stringrequireddate
totalsobjectrequired
netHalerintegerrequired
bonusHalerintegerrequired
grossHalerintegerrequired
payoutHalerintegerrequired
advanceHalerintegerrequired
sickPayHalerintegerrequired
taxableHalerintegerrequired
employeeCountintegerrequired
deductionsHalerintegerrequired
healthBaseHalerintegerrequired
mealExemptHalerintegerrequired
socialBaseHalerintegerrequired
employerCostHalerintegerrequired
healthPayableHalerintegerrequired
socialPayableHalerintegerrequired
advanceCarryInHalerintegerrequired
advancePayableHalerintegerrequired
healthEmployeeHalerintegerrequired
healthEmployerHalerintegerrequired
socialEmployeeHalerintegerrequired
socialEmployerHalerintegerrequired
withholdingTaxHalerintegerrequired
advanceCarryOutHalerintegerrequired
benefitEmployerHalerintegerrequired
voucherEmployeeHalerintegerrequired
voucherEmployerHalerintegerrequired
employerDiscountHalerintegerrequired
pensionerDiscountHalerintegerrequired
employerDiscountBaseHalerintegerrequired
settlementBonusTopupHalerintegerrequired
settlementOverpaymentHalerintegerrequired
socialEmployeeBeforeDiscountHalerintegerrequired
journalEntryIdnull | stringrequired
reviewedAtnull | stringrequireddate-time
lockedAtnull | stringrequireddate-time
notenull | stringrequired
tipFoodIncomeHalerinteger | null
itemsobject[]
object"payroll_run_item"required
idstringrequired
runIdstringrequired
employeeIdstringrequired
employeeNamestringrequired
healthInsurerCodenull | stringrequired
grossHalerintegerrequired
taxableHalerintegerrequired
netHalerintegerrequired
payoutHalerintegerrequired
employerCostHalerintegerrequired
socialEmployeeHalerintegerrequired
socialEmployerHalerintegerrequired
healthEmployeeHalerintegerrequired
healthEmployerHalerintegerrequired
taxHalerintegerrequired
bonusHalerintegerrequired
withholdingHalerintegerrequired
deductionsHalerintegerrequired
warningsobject[]required
codenull | stringrequired
amountHalerinteger | null
deductionIdnull | string
resultobjectrequired
taxobjectrequired
bonusHalerintegerrequired
advanceHalerintegerrequired
advanceBaseHalerintegerrequired
childCreditHalerintegerrequired
separateBaseHalerintegerrequired
advanceTaxableHalerintegerrequired
personalCreditHalerintegerrequired
withholdingTaxHalerintegerrequired
separateAdvanceHalerintegerrequired
withholdingBaseHalerintegerrequired
childCreditClaimHalerintegerrequired
advanceAfterCreditsHalerintegerrequired
personalCreditClaimHalerintegerrequired
separateDppboolean
separateOtherboolean
multiMonthobject
yearintegerrequired
monthinteger | nullrequired
healthobjectrequired
baseHalerinteger | nullrequired
employeeHalerintegerrequired
employerHalerintegerrequired
shortfallHalerintegerrequired
minimumBaseHalerintegerrequired
socialobjectrequired
baseHalerinteger | nullrequired
employeeHalerintegerrequired
employerHalerintegerrequired
employerDiscountReasonanyrequired
Null in every recorded response.
pensionerDiscountHalerintegerrequired
employerDiscountBaseHalerintegerrequired
employerDiscountContractIdnull | stringrequired
employeeBeforeDiscountHalerintegerrequired
netHalerintegerrequired
warningsobject[]required
codenull | stringrequired
amountHalerinteger | null
deductionIdnull | string
contractsobject[]required
typestringrequired
benefitsobject[]required
centerOidnull | stringrequired
costShareintegerrequired
attendanceobjectrequired
componentsarray | nullrequired
contractIdnull | stringrequired
grossHalerintegerrequired
projectOidanyrequired
Null in every recorded response.
smallScopeboolean | nullrequired
activityOidanyrequired
Null in every recorded response.
allocationsobject[]required
participatesbooleanrequired
sickPayHalerintegerrequired
taxableHalerintegerrequired
healthBaseHalerintegerrequired
mealExemptHalerintegerrequired
socialBaseHalerintegerrequired
averageHourlyHalerinteger | nullrequired
healthEmployeeHalerintegerrequired
healthEmployerHalerintegerrequired
socialEmployeeHalerintegerrequired
socialEmployerHalerintegerrequired
benefitEmployerHalerintegerrequired
voucherEmployerHalerintegerrequired
insurableHalerinteger
deductionsobject[]required
idnull | stringrequired
kindstringrequired
amountHalerinteger | nullrequired
requestedHalerintegerrequired
namenull | string
accountNumbernull | string
remainingHalerinteger | null
specificSymbolstring | null
variableSymbolnull | string
grossHalerintegerrequired
settlementnull | objectrequired
idstringrequired
yearintegerrequired
totalHalerinteger | nullrequired
bonusTopupHalerintegerrequired
overpaymentHalerintegerrequired
payoutHalerintegerrequired
sickPayHalerintegerrequired
taxableHalerintegerrequired
deductionsHalerintegerrequired
mealExemptHalerintegerrequired
attachmentLimitsobjectrequired
aboveHalerintegerrequired
thirdHalerintegerrequired
otherPoolHalerintegerrequired
protectedHalerintegerrequired
priorityPoolHalerintegerrequired
otherExemptHalerintegerrequired
employerCostHalerintegerrequired
benefitEmployerHalerintegerrequired
voucherEmployeeHalerintegerrequired
voucherEmployerHalerintegerrequired
reimbursementsobject[]
idstringrequired
amountHalerinteger | nullrequired
descriptionnull | stringrequired
travelOrderIdstringrequired
reimbursementHalerinteger
reimbursementVatHalerinteger
tipsHalerinteger
tipExemptHalerinteger
POST/v1/payroll/runs/{id}/lock
curl -X POST https://api.damedoklad.cz/v1/payroll/runs/obj_2n9F4kT7wQ1xYz0aBcDeFgHiJkL/lock \
  -H "Authorization: Bearer $DAMEDOKLAD_API_KEY"

Put everything a locked run still owes on payment orders: net pay per employee, deductions, ČSSZ, each insurer, tax. One order per day and bank account, with the published accounts and variable symbols unless settings say otherwise. Payments pair when the statement arrives. A wage to a protected account leaves from the account its confirmation names. What has no account comes back in `skipped`

POST/v1/payroll/runs/{id}/payment-orders

Put everything a locked run still owes on payment orders: net pay per employee, deductions, ČSSZ, each insurer, tax. One order per day and bank account, with the published accounts and variable symbols unless settings say otherwise. Payments pair when the statement arrives. A wage to a protected account leaves from the account its confirmation names. What has no account comes back in `skipped`

MCP tool: create-payroll-run-payment-orders

Path parameters

idstringrequired

Request body

bankAccountIdstring
ID of the bank account. Find it with list-bank-accounts.

Response · 201

runIdnull | stringrequired
ordersobject[]required
idstringrequired
numberinteger | nullrequired
executionDatestringrequireddate
totalHalerinteger | nullrequired
itemCountintegerrequired
skippedobject[]required
paymentIdnull | stringrequired
kindstringrequired
recipientstringrequired
reasonnull | stringrequired
POST/v1/payroll/runs/{id}/payment-orders
curl -X POST https://api.damedoklad.cz/v1/payroll/runs/obj_2n9F4kT7wQ1xYz0aBcDeFgHiJkL/payment-orders \
  -H "Authorization: Bearer $DAMEDOKLAD_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
  "bankAccountId": "cba_2n9F4kT7wQ1xYz0aBcDeFgHiJkL"
}'

Download the payslip of one employee as PDF

GET/v1/payroll/runs/{id}/payslips/{itemId}/pdf

Download the payslip of one employee as PDF

MCP tool: get-payroll-payslip-pdf

Path parameters

idstringrequired
itemIdstringrequired
ID of the item. Find it with list-items.

Response · 200

Returns a application/pdf file.

GET/v1/payroll/runs/{id}/payslips/{itemId}/pdf
curl https://api.damedoklad.cz/v1/payroll/runs/obj_2n9F4kT7wQ1xYz0aBcDeFgHiJkL/payslips/itm_2n9F4kT7wQ1xYz0aBcDeFgHiJkL/pdf \
  -H "Authorization: Bearer $DAMEDOKLAD_API_KEY" \
  -o soubor

E-mail the payslip PDF to one employee. Only a locked run can be sent

POST/v1/payroll/runs/{id}/payslips/{itemId}/send

E-mail the payslip PDF to one employee. Only a locked run can be sent

MCP tool: send-payroll-payslip

Path parameters

idstringrequired
itemIdstringrequired
ID of the item. Find it with list-items.

Response · 200

itemIdnull | stringrequired
statusstringrequired
errorCodenull | stringrequired
POST/v1/payroll/runs/{id}/payslips/{itemId}/send
curl -X POST https://api.damedoklad.cz/v1/payroll/runs/obj_2n9F4kT7wQ1xYz0aBcDeFgHiJkL/payslips/itm_2n9F4kT7wQ1xYz0aBcDeFgHiJkL/send \
  -H "Authorization: Bearer $DAMEDOKLAD_API_KEY"

E-mail payslips to everyone in a locked run who has an address on file

POST/v1/payroll/runs/{id}/payslips/send

E-mail payslips to everyone in a locked run who has an address on file

MCP tool: send-payroll-payslips

Path parameters

idstringrequired

Response · 200

resultsobject[]required
itemIdnull | stringrequired
statusstringrequired
errorCodestring | nullrequired
POST/v1/payroll/runs/{id}/payslips/send
curl -X POST https://api.damedoklad.cz/v1/payroll/runs/obj_2n9F4kT7wQ1xYz0aBcDeFgHiJkL/payslips/send \
  -H "Authorization: Bearer $DAMEDOKLAD_API_KEY"

Recalculate a draft run from the current contracts, attendance, and deductions

POST/v1/payroll/runs/{id}/recalculate

Recalculate a draft run from the current contracts, attendance, and deductions

MCP tool: recalculate-payroll-run

Path parameters

idstringrequired

Response · 200

idstringrequired
yearintegerrequired
monthintegerrequired
periodstringrequired
statusstringrequired
paymentDatenull | stringrequireddate
totalsobjectrequired
netHalerintegerrequired
bonusHalerintegerrequired
grossHalerintegerrequired
payoutHalerintegerrequired
advanceHalerintegerrequired
sickPayHalerintegerrequired
taxableHalerintegerrequired
employeeCountintegerrequired
deductionsHalerintegerrequired
healthBaseHalerintegerrequired
mealExemptHalerintegerrequired
socialBaseHalerintegerrequired
employerCostHalerintegerrequired
healthPayableHalerintegerrequired
socialPayableHalerintegerrequired
advanceCarryInHalerintegerrequired
advancePayableHalerintegerrequired
healthEmployeeHalerintegerrequired
healthEmployerHalerintegerrequired
socialEmployeeHalerintegerrequired
socialEmployerHalerintegerrequired
withholdingTaxHalerintegerrequired
advanceCarryOutHalerintegerrequired
benefitEmployerHalerintegerrequired
voucherEmployeeHalerintegerrequired
voucherEmployerHalerintegerrequired
employerDiscountHalerintegerrequired
pensionerDiscountHalerintegerrequired
employerDiscountBaseHalerintegerrequired
settlementBonusTopupHalerintegerrequired
settlementOverpaymentHalerintegerrequired
socialEmployeeBeforeDiscountHalerintegerrequired
journalEntryIdnull | stringrequired
reviewedAtnull | stringrequireddate-time
lockedAtnull | stringrequireddate-time
notenull | stringrequired
tipFoodIncomeHalerinteger | null
itemsobject[]
object"payroll_run_item"required
idstringrequired
runIdstringrequired
employeeIdstringrequired
employeeNamestringrequired
healthInsurerCodenull | stringrequired
grossHalerintegerrequired
taxableHalerintegerrequired
netHalerintegerrequired
payoutHalerintegerrequired
employerCostHalerintegerrequired
socialEmployeeHalerintegerrequired
socialEmployerHalerintegerrequired
healthEmployeeHalerintegerrequired
healthEmployerHalerintegerrequired
taxHalerintegerrequired
bonusHalerintegerrequired
withholdingHalerintegerrequired
deductionsHalerintegerrequired
warningsobject[]required
codenull | stringrequired
amountHalerinteger | null
deductionIdnull | string
resultobjectrequired
taxobjectrequired
bonusHalerintegerrequired
advanceHalerintegerrequired
advanceBaseHalerintegerrequired
childCreditHalerintegerrequired
separateBaseHalerintegerrequired
advanceTaxableHalerintegerrequired
personalCreditHalerintegerrequired
withholdingTaxHalerintegerrequired
separateAdvanceHalerintegerrequired
withholdingBaseHalerintegerrequired
childCreditClaimHalerintegerrequired
advanceAfterCreditsHalerintegerrequired
personalCreditClaimHalerintegerrequired
separateDppboolean
separateOtherboolean
multiMonthobject
yearintegerrequired
monthinteger | nullrequired
healthobjectrequired
baseHalerinteger | nullrequired
employeeHalerintegerrequired
employerHalerintegerrequired
shortfallHalerintegerrequired
minimumBaseHalerintegerrequired
socialobjectrequired
baseHalerinteger | nullrequired
employeeHalerintegerrequired
employerHalerintegerrequired
employerDiscountReasonanyrequired
Null in every recorded response.
pensionerDiscountHalerintegerrequired
employerDiscountBaseHalerintegerrequired
employerDiscountContractIdnull | stringrequired
employeeBeforeDiscountHalerintegerrequired
netHalerintegerrequired
warningsobject[]required
codenull | stringrequired
amountHalerinteger | null
deductionIdnull | string
contractsobject[]required
typestringrequired
benefitsobject[]required
centerOidnull | stringrequired
costShareintegerrequired
attendanceobjectrequired
componentsarray | nullrequired
contractIdnull | stringrequired
grossHalerintegerrequired
projectOidanyrequired
Null in every recorded response.
smallScopeboolean | nullrequired
activityOidanyrequired
Null in every recorded response.
allocationsobject[]required
participatesbooleanrequired
sickPayHalerintegerrequired
taxableHalerintegerrequired
healthBaseHalerintegerrequired
mealExemptHalerintegerrequired
socialBaseHalerintegerrequired
averageHourlyHalerinteger | nullrequired
healthEmployeeHalerintegerrequired
healthEmployerHalerintegerrequired
socialEmployeeHalerintegerrequired
socialEmployerHalerintegerrequired
benefitEmployerHalerintegerrequired
voucherEmployerHalerintegerrequired
insurableHalerinteger
deductionsobject[]required
idnull | stringrequired
kindstringrequired
amountHalerinteger | nullrequired
requestedHalerintegerrequired
namenull | string
accountNumbernull | string
remainingHalerinteger | null
specificSymbolstring | null
variableSymbolnull | string
grossHalerintegerrequired
settlementnull | objectrequired
idstringrequired
yearintegerrequired
totalHalerinteger | nullrequired
bonusTopupHalerintegerrequired
overpaymentHalerintegerrequired
payoutHalerintegerrequired
sickPayHalerintegerrequired
taxableHalerintegerrequired
deductionsHalerintegerrequired
mealExemptHalerintegerrequired
attachmentLimitsobjectrequired
aboveHalerintegerrequired
thirdHalerintegerrequired
otherPoolHalerintegerrequired
protectedHalerintegerrequired
priorityPoolHalerintegerrequired
otherExemptHalerintegerrequired
employerCostHalerintegerrequired
benefitEmployerHalerintegerrequired
voucherEmployeeHalerintegerrequired
voucherEmployerHalerintegerrequired
reimbursementsobject[]
idstringrequired
amountHalerinteger | nullrequired
descriptionnull | stringrequired
travelOrderIdstringrequired
reimbursementHalerinteger
reimbursementVatHalerinteger
tipsHalerinteger
tipExemptHalerinteger
POST/v1/payroll/runs/{id}/recalculate
curl -X POST https://api.damedoklad.cz/v1/payroll/runs/obj_2n9F4kT7wQ1xYz0aBcDeFgHiJkL/recalculate \
  -H "Authorization: Bearer $DAMEDOKLAD_API_KEY"

Send a run in review back to draft

POST/v1/payroll/runs/{id}/reopen

Send a run in review back to draft

MCP tool: reopen-payroll-run

Path parameters

idstringrequired

Response · 200

idstringrequired
yearintegerrequired
monthintegerrequired
periodstringrequired
statusstringrequired
paymentDatenull | stringrequireddate
totalsobjectrequired
netHalerintegerrequired
bonusHalerintegerrequired
grossHalerintegerrequired
payoutHalerintegerrequired
advanceHalerintegerrequired
sickPayHalerintegerrequired
taxableHalerintegerrequired
employeeCountintegerrequired
deductionsHalerintegerrequired
healthBaseHalerintegerrequired
mealExemptHalerintegerrequired
socialBaseHalerintegerrequired
employerCostHalerintegerrequired
healthPayableHalerintegerrequired
socialPayableHalerintegerrequired
advanceCarryInHalerintegerrequired
advancePayableHalerintegerrequired
healthEmployeeHalerintegerrequired
healthEmployerHalerintegerrequired
socialEmployeeHalerintegerrequired
socialEmployerHalerintegerrequired
withholdingTaxHalerintegerrequired
advanceCarryOutHalerintegerrequired
benefitEmployerHalerintegerrequired
voucherEmployeeHalerintegerrequired
voucherEmployerHalerintegerrequired
employerDiscountHalerintegerrequired
pensionerDiscountHalerintegerrequired
employerDiscountBaseHalerintegerrequired
settlementBonusTopupHalerintegerrequired
settlementOverpaymentHalerintegerrequired
socialEmployeeBeforeDiscountHalerintegerrequired
journalEntryIdnull | stringrequired
reviewedAtnull | stringrequireddate-time
lockedAtnull | stringrequireddate-time
notenull | stringrequired
tipFoodIncomeHalerinteger | null
itemsobject[]
object"payroll_run_item"required
idstringrequired
runIdstringrequired
employeeIdstringrequired
employeeNamestringrequired
healthInsurerCodenull | stringrequired
grossHalerintegerrequired
taxableHalerintegerrequired
netHalerintegerrequired
payoutHalerintegerrequired
employerCostHalerintegerrequired
socialEmployeeHalerintegerrequired
socialEmployerHalerintegerrequired
healthEmployeeHalerintegerrequired
healthEmployerHalerintegerrequired
taxHalerintegerrequired
bonusHalerintegerrequired
withholdingHalerintegerrequired
deductionsHalerintegerrequired
warningsobject[]required
codenull | stringrequired
amountHalerinteger | null
deductionIdnull | string
resultobjectrequired
taxobjectrequired
bonusHalerintegerrequired
advanceHalerintegerrequired
advanceBaseHalerintegerrequired
childCreditHalerintegerrequired
separateBaseHalerintegerrequired
advanceTaxableHalerintegerrequired
personalCreditHalerintegerrequired
withholdingTaxHalerintegerrequired
separateAdvanceHalerintegerrequired
withholdingBaseHalerintegerrequired
childCreditClaimHalerintegerrequired
advanceAfterCreditsHalerintegerrequired
personalCreditClaimHalerintegerrequired
separateDppboolean
separateOtherboolean
multiMonthobject
yearintegerrequired
monthinteger | nullrequired
healthobjectrequired
baseHalerinteger | nullrequired
employeeHalerintegerrequired
employerHalerintegerrequired
shortfallHalerintegerrequired
minimumBaseHalerintegerrequired
socialobjectrequired
baseHalerinteger | nullrequired
employeeHalerintegerrequired
employerHalerintegerrequired
employerDiscountReasonanyrequired
Null in every recorded response.
pensionerDiscountHalerintegerrequired
employerDiscountBaseHalerintegerrequired
employerDiscountContractIdnull | stringrequired
employeeBeforeDiscountHalerintegerrequired
netHalerintegerrequired
warningsobject[]required
codenull | stringrequired
amountHalerinteger | null
deductionIdnull | string
contractsobject[]required
typestringrequired
benefitsobject[]required
centerOidnull | stringrequired
costShareintegerrequired
attendanceobjectrequired
componentsarray | nullrequired
contractIdnull | stringrequired
grossHalerintegerrequired
projectOidanyrequired
Null in every recorded response.
smallScopeboolean | nullrequired
activityOidanyrequired
Null in every recorded response.
allocationsobject[]required
participatesbooleanrequired
sickPayHalerintegerrequired
taxableHalerintegerrequired
healthBaseHalerintegerrequired
mealExemptHalerintegerrequired
socialBaseHalerintegerrequired
averageHourlyHalerinteger | nullrequired
healthEmployeeHalerintegerrequired
healthEmployerHalerintegerrequired
socialEmployeeHalerintegerrequired
socialEmployerHalerintegerrequired
benefitEmployerHalerintegerrequired
voucherEmployerHalerintegerrequired
insurableHalerinteger
deductionsobject[]required
idnull | stringrequired
kindstringrequired
amountHalerinteger | nullrequired
requestedHalerintegerrequired
namenull | string
accountNumbernull | string
remainingHalerinteger | null
specificSymbolstring | null
variableSymbolnull | string
grossHalerintegerrequired
settlementnull | objectrequired
idstringrequired
yearintegerrequired
totalHalerinteger | nullrequired
bonusTopupHalerintegerrequired
overpaymentHalerintegerrequired
payoutHalerintegerrequired
sickPayHalerintegerrequired
taxableHalerintegerrequired
deductionsHalerintegerrequired
mealExemptHalerintegerrequired
attachmentLimitsobjectrequired
aboveHalerintegerrequired
thirdHalerintegerrequired
otherPoolHalerintegerrequired
protectedHalerintegerrequired
priorityPoolHalerintegerrequired
otherExemptHalerintegerrequired
employerCostHalerintegerrequired
benefitEmployerHalerintegerrequired
voucherEmployeeHalerintegerrequired
voucherEmployerHalerintegerrequired
reimbursementsobject[]
idstringrequired
amountHalerinteger | nullrequired
descriptionnull | stringrequired
travelOrderIdstringrequired
reimbursementHalerinteger
reimbursementVatHalerinteger
tipsHalerinteger
tipExemptHalerinteger
POST/v1/payroll/runs/{id}/reopen
curl -X POST https://api.damedoklad.cz/v1/payroll/runs/obj_2n9F4kT7wQ1xYz0aBcDeFgHiJkL/reopen \
  -H "Authorization: Bearer $DAMEDOKLAD_API_KEY"

Recalculate a draft one last time and move it to review

POST/v1/payroll/runs/{id}/review

Recalculate a draft one last time and move it to review

MCP tool: review-payroll-run

Path parameters

idstringrequired

Response · 200

idstringrequired
yearintegerrequired
monthintegerrequired
periodstringrequired
statusstringrequired
paymentDatenull | stringrequireddate
totalsobjectrequired
netHalerintegerrequired
bonusHalerintegerrequired
grossHalerintegerrequired
payoutHalerintegerrequired
advanceHalerintegerrequired
sickPayHalerintegerrequired
taxableHalerintegerrequired
employeeCountintegerrequired
deductionsHalerintegerrequired
healthBaseHalerintegerrequired
mealExemptHalerintegerrequired
socialBaseHalerintegerrequired
employerCostHalerintegerrequired
healthPayableHalerintegerrequired
socialPayableHalerintegerrequired
advanceCarryInHalerintegerrequired
advancePayableHalerintegerrequired
healthEmployeeHalerintegerrequired
healthEmployerHalerintegerrequired
socialEmployeeHalerintegerrequired
socialEmployerHalerintegerrequired
withholdingTaxHalerintegerrequired
advanceCarryOutHalerintegerrequired
benefitEmployerHalerintegerrequired
voucherEmployeeHalerintegerrequired
voucherEmployerHalerintegerrequired
employerDiscountHalerintegerrequired
pensionerDiscountHalerintegerrequired
employerDiscountBaseHalerintegerrequired
settlementBonusTopupHalerintegerrequired
settlementOverpaymentHalerintegerrequired
socialEmployeeBeforeDiscountHalerintegerrequired
journalEntryIdnull | stringrequired
reviewedAtnull | stringrequireddate-time
lockedAtnull | stringrequireddate-time
notenull | stringrequired
tipFoodIncomeHalerinteger | null
itemsobject[]
object"payroll_run_item"required
idstringrequired
runIdstringrequired
employeeIdstringrequired
employeeNamestringrequired
healthInsurerCodenull | stringrequired
grossHalerintegerrequired
taxableHalerintegerrequired
netHalerintegerrequired
payoutHalerintegerrequired
employerCostHalerintegerrequired
socialEmployeeHalerintegerrequired
socialEmployerHalerintegerrequired
healthEmployeeHalerintegerrequired
healthEmployerHalerintegerrequired
taxHalerintegerrequired
bonusHalerintegerrequired
withholdingHalerintegerrequired
deductionsHalerintegerrequired
warningsobject[]required
codenull | stringrequired
amountHalerinteger | null
deductionIdnull | string
resultobjectrequired
taxobjectrequired
bonusHalerintegerrequired
advanceHalerintegerrequired
advanceBaseHalerintegerrequired
childCreditHalerintegerrequired
separateBaseHalerintegerrequired
advanceTaxableHalerintegerrequired
personalCreditHalerintegerrequired
withholdingTaxHalerintegerrequired
separateAdvanceHalerintegerrequired
withholdingBaseHalerintegerrequired
childCreditClaimHalerintegerrequired
advanceAfterCreditsHalerintegerrequired
personalCreditClaimHalerintegerrequired
separateDppboolean
separateOtherboolean
multiMonthobject
yearintegerrequired
monthinteger | nullrequired
healthobjectrequired
baseHalerinteger | nullrequired
employeeHalerintegerrequired
employerHalerintegerrequired
shortfallHalerintegerrequired
minimumBaseHalerintegerrequired
socialobjectrequired
baseHalerinteger | nullrequired
employeeHalerintegerrequired
employerHalerintegerrequired
employerDiscountReasonanyrequired
Null in every recorded response.
pensionerDiscountHalerintegerrequired
employerDiscountBaseHalerintegerrequired
employerDiscountContractIdnull | stringrequired
employeeBeforeDiscountHalerintegerrequired
netHalerintegerrequired
warningsobject[]required
codenull | stringrequired
amountHalerinteger | null
deductionIdnull | string
contractsobject[]required
typestringrequired
benefitsobject[]required
centerOidnull | stringrequired
costShareintegerrequired
attendanceobjectrequired
componentsarray | nullrequired
contractIdnull | stringrequired
grossHalerintegerrequired
projectOidanyrequired
Null in every recorded response.
smallScopeboolean | nullrequired
activityOidanyrequired
Null in every recorded response.
allocationsobject[]required
participatesbooleanrequired
sickPayHalerintegerrequired
taxableHalerintegerrequired
healthBaseHalerintegerrequired
mealExemptHalerintegerrequired
socialBaseHalerintegerrequired
averageHourlyHalerinteger | nullrequired
healthEmployeeHalerintegerrequired
healthEmployerHalerintegerrequired
socialEmployeeHalerintegerrequired
socialEmployerHalerintegerrequired
benefitEmployerHalerintegerrequired
voucherEmployerHalerintegerrequired
insurableHalerinteger
deductionsobject[]required
idnull | stringrequired
kindstringrequired
amountHalerinteger | nullrequired
requestedHalerintegerrequired
namenull | string
accountNumbernull | string
remainingHalerinteger | null
specificSymbolstring | null
variableSymbolnull | string
grossHalerintegerrequired
settlementnull | objectrequired
idstringrequired
yearintegerrequired
totalHalerinteger | nullrequired
bonusTopupHalerintegerrequired
overpaymentHalerintegerrequired
payoutHalerintegerrequired
sickPayHalerintegerrequired
taxableHalerintegerrequired
deductionsHalerintegerrequired
mealExemptHalerintegerrequired
attachmentLimitsobjectrequired
aboveHalerintegerrequired
thirdHalerintegerrequired
otherPoolHalerintegerrequired
protectedHalerintegerrequired
priorityPoolHalerintegerrequired
otherExemptHalerintegerrequired
employerCostHalerintegerrequired
benefitEmployerHalerintegerrequired
voucherEmployeeHalerintegerrequired
voucherEmployerHalerintegerrequired
reimbursementsobject[]
idstringrequired
amountHalerinteger | nullrequired
descriptionnull | stringrequired
travelOrderIdstringrequired
reimbursementHalerinteger
reimbursementVatHalerinteger
tipsHalerinteger
tipExemptHalerinteger
POST/v1/payroll/runs/{id}/review
curl -X POST https://api.damedoklad.cz/v1/payroll/runs/obj_2n9F4kT7wQ1xYz0aBcDeFgHiJkL/review \
  -H "Authorization: Bearer $DAMEDOKLAD_API_KEY"

Unlock a run back to review: reverses its journal entry and removes its payments. Refused once a payment is paid

POST/v1/payroll/runs/{id}/unlock

Unlock a run back to review: reverses its journal entry and removes its payments. Refused once a payment is paid

IrreversibleThis operation cannot be undone. MCP clients ask for confirmation first.

MCP tool: unlock-payroll-run

Path parameters

idstringrequired

Response · 200

idstringrequired
yearintegerrequired
monthintegerrequired
periodstringrequired
statusstringrequired
paymentDatenull | stringrequireddate
totalsobjectrequired
netHalerintegerrequired
bonusHalerintegerrequired
grossHalerintegerrequired
payoutHalerintegerrequired
advanceHalerintegerrequired
sickPayHalerintegerrequired
taxableHalerintegerrequired
employeeCountintegerrequired
deductionsHalerintegerrequired
healthBaseHalerintegerrequired
mealExemptHalerintegerrequired
socialBaseHalerintegerrequired
employerCostHalerintegerrequired
healthPayableHalerintegerrequired
socialPayableHalerintegerrequired
advanceCarryInHalerintegerrequired
advancePayableHalerintegerrequired
healthEmployeeHalerintegerrequired
healthEmployerHalerintegerrequired
socialEmployeeHalerintegerrequired
socialEmployerHalerintegerrequired
withholdingTaxHalerintegerrequired
advanceCarryOutHalerintegerrequired
benefitEmployerHalerintegerrequired
voucherEmployeeHalerintegerrequired
voucherEmployerHalerintegerrequired
employerDiscountHalerintegerrequired
pensionerDiscountHalerintegerrequired
employerDiscountBaseHalerintegerrequired
settlementBonusTopupHalerintegerrequired
settlementOverpaymentHalerintegerrequired
socialEmployeeBeforeDiscountHalerintegerrequired
journalEntryIdnull | stringrequired
reviewedAtnull | stringrequireddate-time
lockedAtnull | stringrequireddate-time
notenull | stringrequired
tipFoodIncomeHalerinteger | null
itemsobject[]
object"payroll_run_item"required
idstringrequired
runIdstringrequired
employeeIdstringrequired
employeeNamestringrequired
healthInsurerCodenull | stringrequired
grossHalerintegerrequired
taxableHalerintegerrequired
netHalerintegerrequired
payoutHalerintegerrequired
employerCostHalerintegerrequired
socialEmployeeHalerintegerrequired
socialEmployerHalerintegerrequired
healthEmployeeHalerintegerrequired
healthEmployerHalerintegerrequired
taxHalerintegerrequired
bonusHalerintegerrequired
withholdingHalerintegerrequired
deductionsHalerintegerrequired
warningsobject[]required
codenull | stringrequired
amountHalerinteger | null
deductionIdnull | string
resultobjectrequired
taxobjectrequired
bonusHalerintegerrequired
advanceHalerintegerrequired
advanceBaseHalerintegerrequired
childCreditHalerintegerrequired
separateBaseHalerintegerrequired
advanceTaxableHalerintegerrequired
personalCreditHalerintegerrequired
withholdingTaxHalerintegerrequired
separateAdvanceHalerintegerrequired
withholdingBaseHalerintegerrequired
childCreditClaimHalerintegerrequired
advanceAfterCreditsHalerintegerrequired
personalCreditClaimHalerintegerrequired
separateDppboolean
separateOtherboolean
multiMonthobject
yearintegerrequired
monthinteger | nullrequired
healthobjectrequired
baseHalerinteger | nullrequired
employeeHalerintegerrequired
employerHalerintegerrequired
shortfallHalerintegerrequired
minimumBaseHalerintegerrequired
socialobjectrequired
baseHalerinteger | nullrequired
employeeHalerintegerrequired
employerHalerintegerrequired
employerDiscountReasonanyrequired
Null in every recorded response.
pensionerDiscountHalerintegerrequired
employerDiscountBaseHalerintegerrequired
employerDiscountContractIdnull | stringrequired
employeeBeforeDiscountHalerintegerrequired
netHalerintegerrequired
warningsobject[]required
codenull | stringrequired
amountHalerinteger | null
deductionIdnull | string
contractsobject[]required
typestringrequired
benefitsobject[]required
centerOidnull | stringrequired
costShareintegerrequired
attendanceobjectrequired
componentsarray | nullrequired
contractIdnull | stringrequired
grossHalerintegerrequired
projectOidanyrequired
Null in every recorded response.
smallScopeboolean | nullrequired
activityOidanyrequired
Null in every recorded response.
allocationsobject[]required
participatesbooleanrequired
sickPayHalerintegerrequired
taxableHalerintegerrequired
healthBaseHalerintegerrequired
mealExemptHalerintegerrequired
socialBaseHalerintegerrequired
averageHourlyHalerinteger | nullrequired
healthEmployeeHalerintegerrequired
healthEmployerHalerintegerrequired
socialEmployeeHalerintegerrequired
socialEmployerHalerintegerrequired
benefitEmployerHalerintegerrequired
voucherEmployerHalerintegerrequired
insurableHalerinteger
deductionsobject[]required
idnull | stringrequired
kindstringrequired
amountHalerinteger | nullrequired
requestedHalerintegerrequired
namenull | string
accountNumbernull | string
remainingHalerinteger | null
specificSymbolstring | null
variableSymbolnull | string
grossHalerintegerrequired
settlementnull | objectrequired
idstringrequired
yearintegerrequired
totalHalerinteger | nullrequired
bonusTopupHalerintegerrequired
overpaymentHalerintegerrequired
payoutHalerintegerrequired
sickPayHalerintegerrequired
taxableHalerintegerrequired
deductionsHalerintegerrequired
mealExemptHalerintegerrequired
attachmentLimitsobjectrequired
aboveHalerintegerrequired
thirdHalerintegerrequired
otherPoolHalerintegerrequired
protectedHalerintegerrequired
priorityPoolHalerintegerrequired
otherExemptHalerintegerrequired
employerCostHalerintegerrequired
benefitEmployerHalerintegerrequired
voucherEmployeeHalerintegerrequired
voucherEmployerHalerintegerrequired
reimbursementsobject[]
idstringrequired
amountHalerinteger | nullrequired
descriptionnull | stringrequired
travelOrderIdstringrequired
reimbursementHalerinteger
reimbursementVatHalerinteger
tipsHalerinteger
tipExemptHalerinteger
POST/v1/payroll/runs/{id}/unlock
curl -X POST https://api.damedoklad.cz/v1/payroll/runs/obj_2n9F4kT7wQ1xYz0aBcDeFgHiJkL/unlock \
  -H "Authorization: Bearer $DAMEDOKLAD_API_KEY"

Get payroll settings: ČSSZ variable symbol, okresní správa, pay day, and accounts for contributions

GET/v1/payroll/settings

Get payroll settings: ČSSZ variable symbol, okresní správa, pay day, and accounts for contributions

MCP tool: get-payroll-settings

Response · 200

idnull | stringrequired
csszVariableSymbolnull | stringrequired
csszDistrictCodenull | stringrequired
taxOfficeCodenull | stringrequired
taxOfficenull | stringrequired
accidentInsurernull | stringrequired
accidentOkecnull | stringrequired
accidentRatePermillenull | numberrequired
payDayintegerrequired
socialAccountnull | stringrequired
taxAccountstring | nullrequired
taxVariableSymbolstring | nullrequired
withholdingAccountstring | nullrequired
withholdingVariableSymbolstring | nullrequired
healthAccountsobjectrequired
notificationEmailstring | nullrequired
taxWorkplaceCodenull | stringrequired
taxSubjectTypestringrequired
taxSubjectFirstNamestring | nullrequired
taxSubjectLastNamestring | nullrequired
contactNamenull | stringrequired
contactPhonenull | stringrequired
contactEmailnull | stringrequired
vzpBranchstringrequired
ownershipFormnull | stringrequired
collectiveAgreementsstring[]required
disabledQuotanull | objectrequired
disabledFteintegerrequired
employeesFtenumberrequired
sharePercentnumberrequired
GET/v1/payroll/settings
curl https://api.damedoklad.cz/v1/payroll/settings \
  -H "Authorization: Bearer $DAMEDOKLAD_API_KEY"

Save payroll settings. An account entered here wins over the one the office publishes. An insurer and a rate here drive the statutory liability insurance

PUT/v1/payroll/settings

Save payroll settings. An account entered here wins over the one the office publishes. An insurer and a rate here drive the statutory liability insurance

MCP tool: update-payroll-settings

Request body

csszVariableSymbolstring | null
csszDistrictCodestring | null
taxOfficeCodestring | null
accidentInsurer"kooperativa" | "generali" | null
accidentOkecstring | null
accidentRatePermillenumber | null
taxOffice"praha" | "stredocesky" | "jihocesky" | "plzensky" | "karlovarsky" | "ustecky" | "liberecky" | "kralovehradecky" | "pardubicky" | "vysocina" | "jihomoravsky" | "olomoucky" | "moravskoslezsky" | "zlinsky" | "specializovany" | null
payDayintegermin 1max 28
socialAccountstring | null
taxAccountstring | null
taxVariableSymbolstring | null
withholdingAccountstring | null
withholdingVariableSymbolstring | null
healthAccountsobject
notificationEmailstring | null
taxWorkplaceCodestring | null
taxSubjectType"P" | "F"
taxSubjectFirstNamestring | null
taxSubjectLastNamestring | null
contactNamestring | null
contactPhonestring | null
contactEmailstring | null
vzpBranchstring
ownershipForm"1" | "2" | "3" | "4" | null
collectiveAgreements"1" | "2" | "3" | "4" | "5"[]
disabledQuotaobject | null
employeesFtenumberrequiredmin 0
disabledFtenumberrequiredmin 0
sharePercentnumberrequiredmin 0max 100

Response · 200

idnull | stringrequired
csszVariableSymbolnull | stringrequired
csszDistrictCodenull | stringrequired
taxOfficeCodenull | stringrequired
taxOfficenull | stringrequired
accidentInsurernull | stringrequired
accidentOkecnull | stringrequired
accidentRatePermillenull | numberrequired
payDayintegerrequired
socialAccountnull | stringrequired
taxAccountstring | nullrequired
taxVariableSymbolstring | nullrequired
withholdingAccountstring | nullrequired
withholdingVariableSymbolstring | nullrequired
healthAccountsobjectrequired
notificationEmailstring | nullrequired
taxWorkplaceCodenull | stringrequired
taxSubjectTypestringrequired
taxSubjectFirstNamestring | nullrequired
taxSubjectLastNamestring | nullrequired
contactNamenull | stringrequired
contactPhonenull | stringrequired
contactEmailnull | stringrequired
vzpBranchstringrequired
ownershipFormnull | stringrequired
collectiveAgreementsstring[]required
disabledQuotanull | objectrequired
disabledFteintegerrequired
employeesFtenumberrequired
sharePercentnumberrequired
PUT/v1/payroll/settings
curl -X PUT https://api.damedoklad.cz/v1/payroll/settings \
  -H "Authorization: Bearer $DAMEDOKLAD_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
  "csszVariableSymbol": "string",
  "csszDistrictCode": "string",
  "taxOfficeCode": "string"
}'

List annual tax settlements (roční zúčtování) by tax year and status

GET/v1/payroll/settlements

List annual tax settlements (roční zúčtování) by tax year and status

MCP tool: list-payroll-tax-settlements

Query parameters

limitintegermin 1max 500
offsetintegermin 0max 9007199254740991
searchstringmax 200 chars
fromstringYYYY-MM-DD
Date as YYYY-MM-DD.
tostringYYYY-MM-DD
Date as YYYY-MM-DD.
yearintegermin 2000max 2100
status"requested" | "calculated" | "approved" | "paid" | "closed"

Response · 200

dataany[]required
totalinteger
Rows that match, on all pages.
hasMorebooleanrequired
More rows follow. Ask again with offset + the number of rows received.
GET/v1/payroll/settlements
curl https://api.damedoklad.cz/v1/payroll/settlements \
  -H "Authorization: Bearer $DAMEDOKLAD_API_KEY"

Record an employee's request for an annual tax settlement, with deductions, credits, and documents from previous payers

POST/v1/payroll/settlements

Record an employee's request for an annual tax settlement, with deductions, credits, and documents from previous payers

MCP tool: create-payroll-tax-settlement

Request body

employeeIdstringrequired
ID of the employee.
taxYearintegerrequiredmin -9007199254740991max 9007199254740991
requestedOnstringYYYY-MM-DD
Date as YYYY-MM-DD.
inputsobject
previousPayersobject[]
namestringrequiredmax 200 chars
incomeHalerintegerrequiredmin 0max 9007199254740991
Integer amount in haléře: 100 = 1 Kč.
advancesHalerintegerrequiredmin 0max 9007199254740991
Integer amount in haléře: 100 = 1 Kč.
bonusesHalerintegermin 0max 9007199254740991
Integer amount in haléře: 100 = 1 Kč.
documentReceivedOnstringrequiredYYYY-MM-DD
Date as YYYY-MM-DD.
filesReturnboolean
otherConcurrentPayerboolean
deductionsobject
donationsHalerintegermin 0max 9007199254740991
Integer amount in haléře: 100 = 1 Kč.
interestHalerintegermin 0max 9007199254740991
Integer amount in haléře: 100 = 1 Kč.
interestMonthsintegermin 0max 12
pensionSupplementHalerintegermin 0max 9007199254740991
Integer amount in haléře: 100 = 1 Kč.
supplementaryPensionHalerintegermin 0max 9007199254740991
Integer amount in haléře: 100 = 1 Kč.
pensionInstitutionHalerintegermin 0max 9007199254740991
Integer amount in haléře: 100 = 1 Kč.
lifeInsuranceHalerintegermin 0max 9007199254740991
Integer amount in haléře: 100 = 1 Kč.
longTermInvestmentHalerintegermin 0max 9007199254740991
Integer amount in haléře: 100 = 1 Kč.
longTermCareHalerintegermin 0max 9007199254740991
Integer amount in haléře: 100 = 1 Kč.
creditsobject
stoppedExecutionHalerintegermin 0max 9007199254740991
Integer amount in haléře: 100 = 1 Kč.
spouseMonthsintegermin 0max 12
spouseZtppMonthsintegermin 0max 12
disabilityFirstSecondMonthsintegermin 0max 12
disabilityThirdMonthsintegermin 0max 12
ztppMonthsintegermin 0max 12
studentMonthsintegermin 0max 12
childPlacementobject[]
childNamestringmax 200 chars
spentHalerintegerrequiredmin 0max 9007199254740991
Integer amount in haléře: 100 = 1 Kč.
householdsintegermin 1max 10
agreedCapHalerinteger | null
Integer amount in haléře: 100 = 1 Kč.
spouseobject | null
firstNamestringrequiredmax 200 chars
lastNamestringrequiredmax 200 chars
birthNumberstring | null
birthDatestring | null
Date as YYYY-MM-DD.
ztppboolean
childrenobject[] | null
monthsintegerrequiredmin 0max 12
ztppMonthsintegermin 0max 12

Response · 201

idstringrequired
employeeIdstringrequired
employeeNamestringrequired
taxYearintegerrequired
statusstringrequired
requestedOnstringrequireddate
sourcestringrequired
deadlinesobjectrequired
requestBystringrequireddate
calculateBystringrequireddate
payWithWageOfobjectrequired
yearintegerrequired
monthinteger | nullrequired
inputsobjectrequired
deductionsobject
interestHalerintegerrequired
lifeInsuranceHalerinteger
previousPayersobject[]
namenull | stringrequired
incomeHalerintegerrequired
advancesHalerintegerrequired
documentReceivedOnstringrequireddate
spousenull | objectrequired
lastNamenull | stringrequired
firstNamenull | stringrequired
birthNumberMaskednull | stringrequired
creditsobject
spouseMonthsintegerrequired
childrenobject[]
monthsintegerrequired
resultnull | objectrequired
rowsobjectrequired
r1integerrequired
r2integerrequired
r3integerrequired
r4integerrequired
r5integerrequired
r6integerrequired
r7integerrequired
r8integerrequired
r9integerrequired
r10integerrequired
r11integerrequired
r12integerrequired
r13integerrequired
r14integerrequired
r15integerrequired
r16integerrequired
r17integerrequired
r18integerrequired
r19integerrequired
r20integerrequired
r21integerrequired
r22integerrequired
r23integer
r24integer
r25integer
r26integer
r27integer
r28integer
r29integer
r30integer
r31integer
r32ainteger
r32binteger
yearintegerrequired
monthsintegerrequired
creditsobjectrequired
ztppMonthsintegerrequired
disabilityThirdMonthsintegerrequired
disabilityFirstSecondMonthsintegerrequired
studentMonthsinteger
spouseMonthsinteger
childrenobject[]required
monthsintegerrequired
ztppMonthsinteger
problemsobject[]required
codenull | stringrequired
textstringrequired
payoutHalerintegerrequired
balanceHalerintegerrequired
shortfallHalerintegerrequired
bonusTopupHalerintegerrequired
overpaymentHalerintegerrequired
belowPayoutMinimumbooleanrequired
formPendingboolean
overpaymentHalerintegerrequired
bonusTopupHalerintegerrequired
payoutHalerintegerrequired
calculatedAtnull | stringrequireddate-time
approvedAtnull | stringrequireddate-time
payoutRunIdnull | stringrequired
paidAtnull | stringrequireddate-time
POST/v1/payroll/settlements
curl -X POST https://api.damedoklad.cz/v1/payroll/settlements \
  -H "Authorization: Bearer $DAMEDOKLAD_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
  "employeeId": "yee_2n9F4kT7wQ1xYz0aBcDeFgHiJkL",
  "taxYear": 2026
}'

Get one annual tax settlement with its calculation by the rows of tiskopis 25 5460/1

GET/v1/payroll/settlements/{id}

Get one annual tax settlement with its calculation by the rows of tiskopis 25 5460/1

MCP tool: get-payroll-tax-settlement

Path parameters

idstringrequired

Response · 200

idstringrequired
employeeIdstringrequired
employeeNamestringrequired
taxYearintegerrequired
statusstringrequired
requestedOnstringrequireddate
sourcestringrequired
deadlinesobjectrequired
requestBystringrequireddate
calculateBystringrequireddate
payWithWageOfobjectrequired
yearintegerrequired
monthinteger | nullrequired
inputsobjectrequired
deductionsobject
interestHalerintegerrequired
lifeInsuranceHalerinteger
previousPayersobject[]
namenull | stringrequired
incomeHalerintegerrequired
advancesHalerintegerrequired
documentReceivedOnstringrequireddate
spousenull | objectrequired
lastNamenull | stringrequired
firstNamenull | stringrequired
birthNumberMaskednull | stringrequired
creditsobject
spouseMonthsintegerrequired
childrenobject[]
monthsintegerrequired
resultnull | objectrequired
rowsobjectrequired
r1integerrequired
r2integerrequired
r3integerrequired
r4integerrequired
r5integerrequired
r6integerrequired
r7integerrequired
r8integerrequired
r9integerrequired
r10integerrequired
r11integerrequired
r12integerrequired
r13integerrequired
r14integerrequired
r15integerrequired
r16integerrequired
r17integerrequired
r18integerrequired
r19integerrequired
r20integerrequired
r21integerrequired
r22integerrequired
r23integer
r24integer
r25integer
r26integer
r27integer
r28integer
r29integer
r30integer
r31integer
r32ainteger
r32binteger
yearintegerrequired
monthsintegerrequired
creditsobjectrequired
ztppMonthsintegerrequired
disabilityThirdMonthsintegerrequired
disabilityFirstSecondMonthsintegerrequired
studentMonthsinteger
spouseMonthsinteger
childrenobject[]required
monthsintegerrequired
ztppMonthsinteger
problemsobject[]required
codenull | stringrequired
textstringrequired
payoutHalerintegerrequired
balanceHalerintegerrequired
shortfallHalerintegerrequired
bonusTopupHalerintegerrequired
overpaymentHalerintegerrequired
belowPayoutMinimumbooleanrequired
formPendingboolean
overpaymentHalerintegerrequired
bonusTopupHalerintegerrequired
payoutHalerintegerrequired
calculatedAtnull | stringrequireddate-time
approvedAtnull | stringrequireddate-time
payoutRunIdnull | stringrequired
paidAtnull | stringrequireddate-time
GET/v1/payroll/settlements/{id}
curl https://api.damedoklad.cz/v1/payroll/settlements/obj_2n9F4kT7wQ1xYz0aBcDeFgHiJkL \
  -H "Authorization: Bearer $DAMEDOKLAD_API_KEY"

Change the request date or the inputs of a settlement that is not approved. Any calculation must be run again

PATCH/v1/payroll/settlements/{id}

Change the request date or the inputs of a settlement that is not approved. Any calculation must be run again

MCP tool: update-payroll-tax-settlement

Path parameters

idstringrequired

Request body

requestedOnstringYYYY-MM-DD
Date as YYYY-MM-DD.
inputsobject
previousPayersobject[]
namestringrequiredmax 200 chars
incomeHalerintegerrequiredmin 0max 9007199254740991
Integer amount in haléře: 100 = 1 Kč.
advancesHalerintegerrequiredmin 0max 9007199254740991
Integer amount in haléře: 100 = 1 Kč.
bonusesHalerintegermin 0max 9007199254740991
Integer amount in haléře: 100 = 1 Kč.
documentReceivedOnstringrequiredYYYY-MM-DD
Date as YYYY-MM-DD.
filesReturnboolean
otherConcurrentPayerboolean
deductionsobject
donationsHalerintegermin 0max 9007199254740991
Integer amount in haléře: 100 = 1 Kč.
interestHalerintegermin 0max 9007199254740991
Integer amount in haléře: 100 = 1 Kč.
interestMonthsintegermin 0max 12
pensionSupplementHalerintegermin 0max 9007199254740991
Integer amount in haléře: 100 = 1 Kč.
supplementaryPensionHalerintegermin 0max 9007199254740991
Integer amount in haléře: 100 = 1 Kč.
pensionInstitutionHalerintegermin 0max 9007199254740991
Integer amount in haléře: 100 = 1 Kč.
lifeInsuranceHalerintegermin 0max 9007199254740991
Integer amount in haléře: 100 = 1 Kč.
longTermInvestmentHalerintegermin 0max 9007199254740991
Integer amount in haléře: 100 = 1 Kč.
longTermCareHalerintegermin 0max 9007199254740991
Integer amount in haléře: 100 = 1 Kč.
creditsobject
stoppedExecutionHalerintegermin 0max 9007199254740991
Integer amount in haléře: 100 = 1 Kč.
spouseMonthsintegermin 0max 12
spouseZtppMonthsintegermin 0max 12
disabilityFirstSecondMonthsintegermin 0max 12
disabilityThirdMonthsintegermin 0max 12
ztppMonthsintegermin 0max 12
studentMonthsintegermin 0max 12
childPlacementobject[]
childNamestringmax 200 chars
spentHalerintegerrequiredmin 0max 9007199254740991
Integer amount in haléře: 100 = 1 Kč.
householdsintegermin 1max 10
agreedCapHalerinteger | null
Integer amount in haléře: 100 = 1 Kč.
spouseobject | null
firstNamestringrequiredmax 200 chars
lastNamestringrequiredmax 200 chars
birthNumberstring | null
birthDatestring | null
Date as YYYY-MM-DD.
ztppboolean
childrenobject[] | null
monthsintegerrequiredmin 0max 12
ztppMonthsintegermin 0max 12

Response · 200

idstringrequired
employeeIdstringrequired
employeeNamestringrequired
taxYearintegerrequired
statusstringrequired
requestedOnstringrequireddate
sourcestringrequired
deadlinesobjectrequired
requestBystringrequireddate
calculateBystringrequireddate
payWithWageOfobjectrequired
yearintegerrequired
monthinteger | nullrequired
inputsobjectrequired
deductionsobject
interestHalerintegerrequired
lifeInsuranceHalerinteger
previousPayersobject[]
namenull | stringrequired
incomeHalerintegerrequired
advancesHalerintegerrequired
documentReceivedOnstringrequireddate
spousenull | objectrequired
lastNamenull | stringrequired
firstNamenull | stringrequired
birthNumberMaskednull | stringrequired
creditsobject
spouseMonthsintegerrequired
childrenobject[]
monthsintegerrequired
resultnull | objectrequired
rowsobjectrequired
r1integerrequired
r2integerrequired
r3integerrequired
r4integerrequired
r5integerrequired
r6integerrequired
r7integerrequired
r8integerrequired
r9integerrequired
r10integerrequired
r11integerrequired
r12integerrequired
r13integerrequired
r14integerrequired
r15integerrequired
r16integerrequired
r17integerrequired
r18integerrequired
r19integerrequired
r20integerrequired
r21integerrequired
r22integerrequired
r23integer
r24integer
r25integer
r26integer
r27integer
r28integer
r29integer
r30integer
r31integer
r32ainteger
r32binteger
yearintegerrequired
monthsintegerrequired
creditsobjectrequired
ztppMonthsintegerrequired
disabilityThirdMonthsintegerrequired
disabilityFirstSecondMonthsintegerrequired
studentMonthsinteger
spouseMonthsinteger
childrenobject[]required
monthsintegerrequired
ztppMonthsinteger
problemsobject[]required
codenull | stringrequired
textstringrequired
payoutHalerintegerrequired
balanceHalerintegerrequired
shortfallHalerintegerrequired
bonusTopupHalerintegerrequired
overpaymentHalerintegerrequired
belowPayoutMinimumbooleanrequired
formPendingboolean
overpaymentHalerintegerrequired
bonusTopupHalerintegerrequired
payoutHalerintegerrequired
calculatedAtnull | stringrequireddate-time
approvedAtnull | stringrequireddate-time
payoutRunIdnull | stringrequired
paidAtnull | stringrequireddate-time
PATCH/v1/payroll/settlements/{id}
curl -X PATCH https://api.damedoklad.cz/v1/payroll/settlements/obj_2n9F4kT7wQ1xYz0aBcDeFgHiJkL \
  -H "Authorization: Bearer $DAMEDOKLAD_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
  "requestedOn": "2026-10-30",
  "inputs": {
    "previousPayers": [
      {
        "name": "Pekárna U Lípy s.r.o.",
        "incomeHaler": 1210000,
        "advancesHaler": 1210000,
        "documentReceivedOn": "2026-10-30"
      }
    ],
    "filesReturn": false,
    "otherConcurrentPayer": false
  }
}'

Delete a settlement that has not been approved

DELETE/v1/payroll/settlements/{id}

Delete a settlement that has not been approved

IrreversibleThis operation cannot be undone. MCP clients ask for confirmation first.

MCP tool: delete-payroll-tax-settlement

Path parameters

idstringrequired

Response · 200

idstringrequired
deletedbooleanrequired
DELETE/v1/payroll/settlements/{id}
curl -X DELETE https://api.damedoklad.cz/v1/payroll/settlements/obj_2n9F4kT7wQ1xYz0aBcDeFgHiJkL \
  -H "Authorization: Bearer $DAMEDOKLAD_API_KEY"

Approve a calculated settlement. A refund is then paid by the next payroll run that locks; with nothing to pay the settlement closes

POST/v1/payroll/settlements/{id}/approve

Approve a calculated settlement. A refund is then paid by the next payroll run that locks; with nothing to pay the settlement closes

MCP tool: approve-payroll-tax-settlement

Path parameters

idstringrequired

Response · 200

idstringrequired
employeeIdstringrequired
employeeNamestringrequired
taxYearintegerrequired
statusstringrequired
requestedOnstringrequireddate
sourcestringrequired
deadlinesobjectrequired
requestBystringrequireddate
calculateBystringrequireddate
payWithWageOfobjectrequired
yearintegerrequired
monthinteger | nullrequired
inputsobjectrequired
deductionsobject
interestHalerintegerrequired
lifeInsuranceHalerinteger
previousPayersobject[]
namenull | stringrequired
incomeHalerintegerrequired
advancesHalerintegerrequired
documentReceivedOnstringrequireddate
spousenull | objectrequired
lastNamenull | stringrequired
firstNamenull | stringrequired
birthNumberMaskednull | stringrequired
creditsobject
spouseMonthsintegerrequired
childrenobject[]
monthsintegerrequired
resultnull | objectrequired
rowsobjectrequired
r1integerrequired
r2integerrequired
r3integerrequired
r4integerrequired
r5integerrequired
r6integerrequired
r7integerrequired
r8integerrequired
r9integerrequired
r10integerrequired
r11integerrequired
r12integerrequired
r13integerrequired
r14integerrequired
r15integerrequired
r16integerrequired
r17integerrequired
r18integerrequired
r19integerrequired
r20integerrequired
r21integerrequired
r22integerrequired
r23integer
r24integer
r25integer
r26integer
r27integer
r28integer
r29integer
r30integer
r31integer
r32ainteger
r32binteger
yearintegerrequired
monthsintegerrequired
creditsobjectrequired
ztppMonthsintegerrequired
disabilityThirdMonthsintegerrequired
disabilityFirstSecondMonthsintegerrequired
studentMonthsinteger
spouseMonthsinteger
childrenobject[]required
monthsintegerrequired
ztppMonthsinteger
problemsobject[]required
codenull | stringrequired
textstringrequired
payoutHalerintegerrequired
balanceHalerintegerrequired
shortfallHalerintegerrequired
bonusTopupHalerintegerrequired
overpaymentHalerintegerrequired
belowPayoutMinimumbooleanrequired
formPendingboolean
overpaymentHalerintegerrequired
bonusTopupHalerintegerrequired
payoutHalerintegerrequired
calculatedAtnull | stringrequireddate-time
approvedAtnull | stringrequireddate-time
payoutRunIdnull | stringrequired
paidAtnull | stringrequireddate-time
POST/v1/payroll/settlements/{id}/approve
curl -X POST https://api.damedoklad.cz/v1/payroll/settlements/obj_2n9F4kT7wQ1xYz0aBcDeFgHiJkL/approve \
  -H "Authorization: Bearer $DAMEDOKLAD_API_KEY"

Calculate the settlement from the locked months of the tax year and the entered inputs. Returns whatever bars it in `problems`

POST/v1/payroll/settlements/{id}/calculate

Calculate the settlement from the locked months of the tax year and the entered inputs. Returns whatever bars it in `problems`

MCP tool: calculate-payroll-tax-settlement

Path parameters

idstringrequired

Response · 200

idstringrequired
employeeIdstringrequired
employeeNamestringrequired
taxYearintegerrequired
statusstringrequired
requestedOnstringrequireddate
sourcestringrequired
deadlinesobjectrequired
requestBystringrequireddate
calculateBystringrequireddate
payWithWageOfobjectrequired
yearintegerrequired
monthinteger | nullrequired
inputsobjectrequired
deductionsobject
interestHalerintegerrequired
lifeInsuranceHalerinteger
previousPayersobject[]
namenull | stringrequired
incomeHalerintegerrequired
advancesHalerintegerrequired
documentReceivedOnstringrequireddate
spousenull | objectrequired
lastNamenull | stringrequired
firstNamenull | stringrequired
birthNumberMaskednull | stringrequired
creditsobject
spouseMonthsintegerrequired
childrenobject[]
monthsintegerrequired
resultnull | objectrequired
rowsobjectrequired
r1integerrequired
r2integerrequired
r3integerrequired
r4integerrequired
r5integerrequired
r6integerrequired
r7integerrequired
r8integerrequired
r9integerrequired
r10integerrequired
r11integerrequired
r12integerrequired
r13integerrequired
r14integerrequired
r15integerrequired
r16integerrequired
r17integerrequired
r18integerrequired
r19integerrequired
r20integerrequired
r21integerrequired
r22integerrequired
r23integer
r24integer
r25integer
r26integer
r27integer
r28integer
r29integer
r30integer
r31integer
r32ainteger
r32binteger
yearintegerrequired
monthsintegerrequired
creditsobjectrequired
ztppMonthsintegerrequired
disabilityThirdMonthsintegerrequired
disabilityFirstSecondMonthsintegerrequired
studentMonthsinteger
spouseMonthsinteger
childrenobject[]required
monthsintegerrequired
ztppMonthsinteger
problemsobject[]required
codenull | stringrequired
textstringrequired
payoutHalerintegerrequired
balanceHalerintegerrequired
shortfallHalerintegerrequired
bonusTopupHalerintegerrequired
overpaymentHalerintegerrequired
belowPayoutMinimumbooleanrequired
formPendingboolean
overpaymentHalerintegerrequired
bonusTopupHalerintegerrequired
payoutHalerintegerrequired
calculatedAtnull | stringrequireddate-time
approvedAtnull | stringrequireddate-time
payoutRunIdnull | stringrequired
paidAtnull | stringrequireddate-time
POST/v1/payroll/settlements/{id}/calculate
curl -X POST https://api.damedoklad.cz/v1/payroll/settlements/obj_2n9F4kT7wQ1xYz0aBcDeFgHiJkL/calculate \
  -H "Authorization: Bearer $DAMEDOKLAD_API_KEY"

Výpočet daně a daňového zvýhodnění of a settlement as PDF, by the rows of tiskopis 25 5460/1 vzor 29. The rows match, the page is not the printed form

GET/v1/payroll/settlements/{id}/calculation.pdf

Výpočet daně a daňového zvýhodnění of a settlement as PDF, by the rows of tiskopis 25 5460/1 vzor 29. The rows match, the page is not the printed form

MCP tool: get-payroll-tax-settlement-pdf

Path parameters

idstringrequired

Response · 200

Returns a application/pdf file.

GET/v1/payroll/settlements/{id}/calculation.pdf
curl https://api.damedoklad.cz/v1/payroll/settlements/obj_2n9F4kT7wQ1xYz0aBcDeFgHiJkL/calculation.pdf \
  -H "Authorization: Bearer $DAMEDOKLAD_API_KEY" \
  -o soubor

Return an approved settlement to calculated. Refused once a locked run has paid it: unlock that run first

POST/v1/payroll/settlements/{id}/reopen

Return an approved settlement to calculated. Refused once a locked run has paid it: unlock that run first

MCP tool: reopen-payroll-tax-settlement

Path parameters

idstringrequired

Response · 200

idstringrequired
employeeIdstringrequired
employeeNamestringrequired
taxYearintegerrequired
statusstringrequired
requestedOnstringrequireddate
sourcestringrequired
deadlinesobjectrequired
requestBystringrequireddate
calculateBystringrequireddate
payWithWageOfobjectrequired
yearintegerrequired
monthinteger | nullrequired
inputsobjectrequired
deductionsobject
interestHalerintegerrequired
lifeInsuranceHalerinteger
previousPayersobject[]
namenull | stringrequired
incomeHalerintegerrequired
advancesHalerintegerrequired
documentReceivedOnstringrequireddate
spousenull | objectrequired
lastNamenull | stringrequired
firstNamenull | stringrequired
birthNumberMaskednull | stringrequired
creditsobject
spouseMonthsintegerrequired
childrenobject[]
monthsintegerrequired
resultnull | objectrequired
rowsobjectrequired
r1integerrequired
r2integerrequired
r3integerrequired
r4integerrequired
r5integerrequired
r6integerrequired
r7integerrequired
r8integerrequired
r9integerrequired
r10integerrequired
r11integerrequired
r12integerrequired
r13integerrequired
r14integerrequired
r15integerrequired
r16integerrequired
r17integerrequired
r18integerrequired
r19integerrequired
r20integerrequired
r21integerrequired
r22integerrequired
r23integer
r24integer
r25integer
r26integer
r27integer
r28integer
r29integer
r30integer
r31integer
r32ainteger
r32binteger
yearintegerrequired
monthsintegerrequired
creditsobjectrequired
ztppMonthsintegerrequired
disabilityThirdMonthsintegerrequired
disabilityFirstSecondMonthsintegerrequired
studentMonthsinteger
spouseMonthsinteger
childrenobject[]required
monthsintegerrequired
ztppMonthsinteger
problemsobject[]required
codenull | stringrequired
textstringrequired
payoutHalerintegerrequired
balanceHalerintegerrequired
shortfallHalerintegerrequired
bonusTopupHalerintegerrequired
overpaymentHalerintegerrequired
belowPayoutMinimumbooleanrequired
formPendingboolean
overpaymentHalerintegerrequired
bonusTopupHalerintegerrequired
payoutHalerintegerrequired
calculatedAtnull | stringrequireddate-time
approvedAtnull | stringrequireddate-time
payoutRunIdnull | stringrequired
paidAtnull | stringrequireddate-time
POST/v1/payroll/settlements/{id}/reopen
curl -X POST https://api.damedoklad.cz/v1/payroll/settlements/obj_2n9F4kT7wQ1xYz0aBcDeFgHiJkL/reopen \
  -H "Authorization: Bearer $DAMEDOKLAD_API_KEY"

Work out a settlement without recording it, also for a year whose form is not published yet (2027), with the student credit and the child placement credit (§ 35bc, § 35bd ZDP). Nothing is stored and no form or filing comes of it: `formPending` says so

POST/v1/payroll/settlements/preview

Work out a settlement without recording it, also for a year whose form is not published yet (2027), with the student credit and the child placement credit (§ 35bc, § 35bd ZDP). Nothing is stored and no form or filing comes of it: `formPending` says so

MCP tool: preview-payroll-tax-settlement

Request body

employeeIdstringrequired
ID of the employee.
taxYearintegerrequiredmin -9007199254740991max 9007199254740991
inputsobject
previousPayersobject[]
namestringrequiredmax 200 chars
incomeHalerintegerrequiredmin 0max 9007199254740991
Integer amount in haléře: 100 = 1 Kč.
advancesHalerintegerrequiredmin 0max 9007199254740991
Integer amount in haléře: 100 = 1 Kč.
bonusesHalerintegermin 0max 9007199254740991
Integer amount in haléře: 100 = 1 Kč.
documentReceivedOnstringrequiredYYYY-MM-DD
Date as YYYY-MM-DD.
filesReturnboolean
otherConcurrentPayerboolean
deductionsobject
donationsHalerintegermin 0max 9007199254740991
Integer amount in haléře: 100 = 1 Kč.
interestHalerintegermin 0max 9007199254740991
Integer amount in haléře: 100 = 1 Kč.
interestMonthsintegermin 0max 12
pensionSupplementHalerintegermin 0max 9007199254740991
Integer amount in haléře: 100 = 1 Kč.
supplementaryPensionHalerintegermin 0max 9007199254740991
Integer amount in haléře: 100 = 1 Kč.
pensionInstitutionHalerintegermin 0max 9007199254740991
Integer amount in haléře: 100 = 1 Kč.
lifeInsuranceHalerintegermin 0max 9007199254740991
Integer amount in haléře: 100 = 1 Kč.
longTermInvestmentHalerintegermin 0max 9007199254740991
Integer amount in haléře: 100 = 1 Kč.
longTermCareHalerintegermin 0max 9007199254740991
Integer amount in haléře: 100 = 1 Kč.
creditsobject
stoppedExecutionHalerintegermin 0max 9007199254740991
Integer amount in haléře: 100 = 1 Kč.
spouseMonthsintegermin 0max 12
spouseZtppMonthsintegermin 0max 12
disabilityFirstSecondMonthsintegermin 0max 12
disabilityThirdMonthsintegermin 0max 12
ztppMonthsintegermin 0max 12
studentMonthsintegermin 0max 12
childPlacementobject[]
childNamestringmax 200 chars
spentHalerintegerrequiredmin 0max 9007199254740991
Integer amount in haléře: 100 = 1 Kč.
householdsintegermin 1max 10
agreedCapHalerinteger | null
Integer amount in haléře: 100 = 1 Kč.
spouseobject | null
firstNamestringrequiredmax 200 chars
lastNamestringrequiredmax 200 chars
birthNumberstring | null
birthDatestring | null
Date as YYYY-MM-DD.
ztppboolean
childrenobject[] | null
monthsintegerrequiredmin 0max 12
ztppMonthsintegermin 0max 12

Response · 200

employeeIdnull | stringrequired
taxYearintegerrequired
monthsintegerrequired
yearintegerrequired
formPendingbooleanrequired
rowsobjectrequired
r1integerrequired
r2integerrequired
r3integerrequired
r4integerrequired
r5integerrequired
r6integerrequired
r7integerrequired
r8integerrequired
r9integerrequired
r10integerrequired
r11integerrequired
r12integerrequired
r13integerrequired
r14integerrequired
r15integerrequired
r16integerrequired
r17integerrequired
r18integerrequired
r19integerrequired
r20integerrequired
r21integerrequired
r22integerrequired
studentCreditHalerintegerrequired
childPlacementHalerintegerrequired
r23integerrequired
overpaymentHalerintegerrequired
bonusTopupHalerintegerrequired
payoutHalerintegerrequired
shortfallHalerintegerrequired
balanceHalerintegerrequired
belowPayoutMinimumbooleanrequired
POST/v1/payroll/settlements/preview
curl -X POST https://api.damedoklad.cz/v1/payroll/settlements/preview \
  -H "Authorization: Bearer $DAMEDOKLAD_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
  "employeeId": "yee_2n9F4kT7wQ1xYz0aBcDeFgHiJkL",
  "taxYear": 2026
}'

List eNeschopenka sick notes

GET/v1/payroll/sick-notes

List eNeschopenka sick notes

MCP tool: list-payroll-sick-notes

Query parameters

limitintegermin 1max 500
offsetintegermin 0max 9007199254740991
searchstringmax 200 chars
status"open" | "closed" | "cancelled"

Response · 200

dataobject[]required
object"payroll_sick_note"required
idstringrequired
employeeIdnull | stringrequired
decisionNumberstringrequired
namenull | stringrequired
birthDatenull | stringrequireddate
fromstringrequireddate
tostringrequireddate
statusstringrequired
workAccidentbooleanrequired
notenull | stringrequired
insertedAtstring | nullrequired
totalinteger
Rows that match, on all pages.
hasMorebooleanrequired
More rows follow. Ask again with offset + the number of rows received.
GET/v1/payroll/sick-notes
curl https://api.damedoklad.cz/v1/payroll/sick-notes \
  -H "Authorization: Bearer $DAMEDOKLAD_API_KEY"

HZUPN20: the employer's report when a sick note ends (§ 97 odst. 4 zák. 187/2006 Sb.), valid against the ČSSZ XSD. You send it: nothing goes to ČSSZ from here

POST/v1/payroll/sick-notes/{id}/hzupn.xml

HZUPN20: the employer's report when a sick note ends (§ 97 odst. 4 zák. 187/2006 Sb.), valid against the ČSSZ XSD. You send it: nothing goes to ČSSZ from here

MCP tool: create-payroll-sick-end-xml

Path parameters

idstringrequired

Request body

returnedbooleanrequired
returnDatestringYYYY-MM-DD
Date as YYYY-MM-DD.
reasonstringmax 200 chars
hoursWorkednumbermin 0max 24
shiftHoursnumbermin 0max 24
workedIntervalsobject[]
fromstringrequiredYYYY-MM-DD
Date as YYYY-MM-DD.
tostringrequiredYYYY-MM-DD
Date as YYYY-MM-DD.
correctionboolean

Response · 200

Returns a application/xml file.

POST/v1/payroll/sick-notes/{id}/hzupn.xml
curl -X POST https://api.damedoklad.cz/v1/payroll/sick-notes/obj_2n9F4kT7wQ1xYz0aBcDeFgHiJkL/hzupn.xml \
  -H "Authorization: Bearer $DAMEDOKLAD_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
  "returned": false
}' \
  -o soubor

Whether eNeschopenka notifications can be read straight from ČSSZ (DZDPN20-V2), on which channel, and the latest queries. Off unless the operator enabled it

GET/v1/payroll/sick-notes/direct

Whether eNeschopenka notifications can be read straight from ČSSZ (DZDPN20-V2), on which channel, and the latest queries. Off unless the operator enabled it

MCP tool: get-payroll-dzdpn-status

Response · 200

enabledbooleanrequired
channelEnabledbooleanrequired
modenull | stringrequired
certificateSubjectnull | stringrequired
certificateNotAfternull | stringrequireddate-time
queriesobject[]required
object"payroll_dzdpn_query"required
idstringrequired
fromstringrequireddate
tostringrequireddate
modestringrequired
statusstringrequired
messagenull | stringrequired
notificationCountintegerrequired
importedCountintegerrequired
createdAtstringrequireddate-time
answeredAtnull | stringrequireddate-time
GET/v1/payroll/sick-notes/direct
curl https://api.damedoklad.cz/v1/payroll/sick-notes/direct \
  -H "Authorization: Bearer $DAMEDOKLAD_API_KEY"

Ask ČSSZ for the eNeschopenka notifications of up to 31 days (DZDPN20-V2), signed and encrypted over the cssz_vrep channel. ČSSZ answers later: read it with the poll operation. ČSSZ refuses a repeated request the same day, and so does the app

POST/v1/payroll/sick-notes/direct

Ask ČSSZ for the eNeschopenka notifications of up to 31 days (DZDPN20-V2), signed and encrypted over the cssz_vrep channel. ČSSZ answers later: read it with the poll operation. ČSSZ refuses a repeated request the same day, and so does the app

MCP tool: create-payroll-dzdpn-query

Request body

fromstringrequiredYYYY-MM-DD
Date as YYYY-MM-DD.
tostringrequiredYYYY-MM-DD
Date as YYYY-MM-DD.

Response · 201

idstringrequired
fromstringrequireddate
tostringrequireddate
modestringrequired
statusstringrequired
messagenull | stringrequired
notificationCountintegerrequired
importedCountintegerrequired
createdAtstringrequireddate-time
answeredAtnull | stringrequireddate-time
POST/v1/payroll/sick-notes/direct
curl -X POST https://api.damedoklad.cz/v1/payroll/sick-notes/direct \
  -H "Authorization: Bearer $DAMEDOKLAD_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
  "from": "2026-10-30",
  "to": "2026-10-30"
}'

See whether ČSSZ has answered a query. An answer is decrypted, read into sick notes as a file import would be, and the transaction closed. What was imported is matched to employees; the answer itself is not stored

POST/v1/payroll/sick-notes/direct/{id}/poll

See whether ČSSZ has answered a query. An answer is decrypted, read into sick notes as a file import would be, and the transaction closed. What was imported is matched to employees; the answer itself is not stored

MCP tool: poll-payroll-dzdpn-query

Path parameters

idstringrequired

Response · 200

idstringrequired
fromstringrequireddate
tostringrequireddate
modestringrequired
statusstringrequired
messagenull | stringrequired
notificationCountintegerrequired
importedCountintegerrequired
createdAtstringrequireddate-time
answeredAtnull | stringrequireddate-time
POST/v1/payroll/sick-notes/direct/{id}/poll
curl -X POST https://api.damedoklad.cz/v1/payroll/sick-notes/direct/obj_2n9F4kT7wQ1xYz0aBcDeFgHiJkL/poll \
  -H "Authorization: Bearer $DAMEDOKLAD_API_KEY"

Read eNeschopenka notifications from ČSSZ, a data box XML or a DZDPN20-V2 answer, into sick notes, and match them to employees. Importing the same file again changes nothing. Nothing goes to ČSSZ

POST/v1/payroll/sick-notes/import

Read eNeschopenka notifications from ČSSZ, a data box XML or a DZDPN20-V2 answer, into sick notes, and match them to employees. Importing the same file again changes nothing. Nothing goes to ČSSZ

MCP tool: import-payroll-sick-notes

Request body

xmlstringrequiredmax 5000000 chars

Response · 201

notificationCountintegerrequired
importedintegerrequired
updatedintegerrequired
ignoredintegerrequired
unmatchedobject[]required
object"payroll_sick_note"required
idstringrequired
employeeIdnull | stringrequired
decisionNumberstringrequired
namenull | stringrequired
birthDatenull | stringrequireddate
fromstringrequireddate
tostringrequireddate
statusstringrequired
workAccidentbooleanrequired
notenull | stringrequired
insertedAtstring | nullrequired
POST/v1/payroll/sick-notes/import
curl -X POST https://api.damedoklad.cz/v1/payroll/sick-notes/import \
  -H "Authorization: Bearer $DAMEDOKLAD_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
  "xml": "string"
}'

Mark the days of matched sick notes as sick in attendance. An open note runs to today, so inserting again extends it. A locked month or another absence on the day is left alone and reported

POST/v1/payroll/sick-notes/insert

Mark the days of matched sick notes as sick in attendance. An open note runs to today, so inserting again extends it. A locked month or another absence on the day is left alone and reported

MCP tool: insert-payroll-sick-notes

Request body

noteIdsstring[]

Response · 200

insertedCountintegerrequired
resultsobject[]required
idstringrequired
namenull | stringrequired
conflictsstring[]required
lockedMonthsstring[]required
POST/v1/payroll/sick-notes/insert
curl -X POST https://api.damedoklad.cz/v1/payroll/sick-notes/insert \
  -H "Authorization: Bearer $DAMEDOKLAD_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
  "noteIds": [
    "obj_2n9F4kT7wQ1xYz0aBcDeFgHiJkL"
  ]
}'