Skip to content

Operations in the Platform group.

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

List the custom roles of this company and how many people have each

GET/v1/access-roles

List the custom roles of this company and how many people have each

MCP tool: list-access-roles

Query parameters

limitintegermin 1max 500
offsetintegermin 0max 9007199254740991
searchstringmax 200 chars

Response · 200

dataobject[]required
object"access_role"required
idstringrequired
namestringrequired
descriptionstring | nullrequired
agendasobjectrequired
salesstring
payrollstring
administrationstring
bankstring
cashstring
reportsstring
contactsstring
inventorystring
inboxstring
purchasesstring
assetsstring
travelstring
taxstring
agendasstring
ledgerstring
scopesobjectrequired
warehousesarray | nullrequired
registersarray | nullrequired
accountsarray | nullrequired
seriesarray | nullrequired
centersarray | null
memberCountintegerrequired
createdAtstringrequireddate-time
updatedAtstringrequireddate-time
parentIdnull | string
deniedobject
formatsstring[]required
reportsstring[]required
totalinteger
Rows that match, on all pages.
hasMorebooleanrequired
More rows follow. Ask again with offset + the number of rows received.
GET/v1/access-roles
curl https://api.damedoklad.cz/v1/access-roles \
  -H "Authorization: Bearer $DAMEDOKLAD_API_KEY"

Create a custom role: a level per agenda (none, read, own, write, full), and optionally only chosen warehouses, cash registers, bank accounts, number series, and cost centres, without some print reports or export types, or as a sub-role of another

POST/v1/access-roles

Create a custom role: a level per agenda (none, read, own, write, full), and optionally only chosen warehouses, cash registers, bank accounts, number series, and cost centres, without some print reports or export types, or as a sub-role of another. own: reads everything, creates, and changes only what the person created. Delete and storno need full. A sub-role takes its parent's rights and can only take away. Members, API keys of others, webhooks, the audit log, and company-wide exports and imports stay with an owner or accountant whatever a custom role says.

MCP tool: create-access-role

Request body

namestringrequiredmax 120 chars
descriptionstring | null
agendasobjectrequired
scopesobject
warehousesstring[] | null
registersstring[] | null
accountsstring[] | null
seriesstring[] | null
centersstring[] | null
parentIdstring | null
ID of the parent.
deniedobject
formats"pdf" | "xlsx" | "csv" | "xml" | "zip"[]
reportsstring[]

Response · 201

idstringrequired
namestringrequired
descriptionstring | nullrequired
agendasobjectrequired
salesstring
payrollstring
administrationstring
bankstring
cashstring
reportsstring
contactsstring
inventorystring
inboxstring
purchasesstring
assetsstring
travelstring
taxstring
agendasstring
ledgerstring
scopesobjectrequired
warehousesarray | nullrequired
registersarray | nullrequired
accountsarray | nullrequired
seriesarray | nullrequired
centersarray | null
memberCountintegerrequired
createdAtstringrequireddate-time
updatedAtstringrequireddate-time
parentIdnull | string
deniedobject
formatsstring[]required
reportsstring[]required
POST/v1/access-roles
curl -X POST https://api.damedoklad.cz/v1/access-roles \
  -H "Authorization: Bearer $DAMEDOKLAD_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
  "name": "Pekárna U Lípy s.r.o.",
  "agendas": {}
}'

Get one custom role with its rights

GET/v1/access-roles/{id}

Get one custom role with its rights

MCP tool: get-access-role

Path parameters

idstringrequired

Response · 200

idstringrequired
namestringrequired
descriptionstring | nullrequired
agendasobjectrequired
salesstring
payrollstring
administrationstring
bankstring
cashstring
reportsstring
contactsstring
inventorystring
inboxstring
purchasesstring
assetsstring
travelstring
taxstring
agendasstring
ledgerstring
scopesobjectrequired
warehousesarray | nullrequired
registersarray | nullrequired
accountsarray | nullrequired
seriesarray | nullrequired
centersarray | null
memberCountintegerrequired
createdAtstringrequireddate-time
updatedAtstringrequireddate-time
parentIdnull | string
deniedobject
formatsstring[]required
reportsstring[]required
GET/v1/access-roles/{id}
curl https://api.damedoklad.cz/v1/access-roles/obj_2n9F4kT7wQ1xYz0aBcDeFgHiJkL \
  -H "Authorization: Bearer $DAMEDOKLAD_API_KEY"

Change a custom role. It holds at once for everyone who has it, including their API keys and connected apps

PATCH/v1/access-roles/{id}

Change a custom role. It holds at once for everyone who has it, including their API keys and connected apps

MCP tool: update-access-role

Path parameters

idstringrequired

Request body

namestringmax 120 chars
descriptionstring | null
agendasobject
scopesobject
warehousesstring[] | null
registersstring[] | null
accountsstring[] | null
seriesstring[] | null
centersstring[] | null
parentIdstring | null
ID of the parent.
deniedobject
formats"pdf" | "xlsx" | "csv" | "xml" | "zip"[]
reportsstring[]

Response · 200

idstringrequired
namestringrequired
descriptionstring | nullrequired
agendasobjectrequired
salesstring
payrollstring
administrationstring
bankstring
cashstring
reportsstring
contactsstring
inventorystring
inboxstring
purchasesstring
assetsstring
travelstring
taxstring
agendasstring
ledgerstring
scopesobjectrequired
warehousesarray | nullrequired
registersarray | nullrequired
accountsarray | nullrequired
seriesarray | nullrequired
centersarray | null
memberCountintegerrequired
createdAtstringrequireddate-time
updatedAtstringrequireddate-time
parentIdnull | string
deniedobject
formatsstring[]required
reportsstring[]required
PATCH/v1/access-roles/{id}
curl -X PATCH https://api.damedoklad.cz/v1/access-roles/obj_2n9F4kT7wQ1xYz0aBcDeFgHiJkL \
  -H "Authorization: Bearer $DAMEDOKLAD_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
  "name": "Pekárna U Lípy s.r.o.",
  "description": "Pečivo, říjen",
  "agendas": {}
}'

Delete a custom role nobody has. A role in use is refused, so nobody is left without rights by accident

DELETE/v1/access-roles/{id}

Delete a custom role nobody has. A role in use is refused, so nobody is left without rights by accident

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

MCP tool: delete-access-role

Path parameters

idstringrequired

Response · 200

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

What a custom role really comes to, with its parent applied: level per agenda and whether it is inherited, limits with their names, what it goes without, and who has it

GET/v1/access-roles/{id}/effective

What a custom role really comes to, with its parent applied: level per agenda and whether it is inherited, limits with their names, what it goes without, and who has it

MCP tool: get-access-role-effective

Path parameters

idstringrequired

Response · 200

rolenull | objectrequired
idstringrequired
namenull | stringrequired
fixedRolenull | stringrequired
parentnull | objectrequired
idstringrequired
namenull | stringrequired
agendasobject[]required
keystringrequired
levelstringrequired
inheritedbooleanrequired
scopesobjectrequired
warehousesarray | nullrequired
idstringrequired
namenull | stringrequired
registersanyrequired
Null in every recorded response.
accountsanyrequired
Null in every recorded response.
seriesanyrequired
Null in every recorded response.
centersanyrequired
Null in every recorded response.
deniedobjectrequired
formatsstring[]required
reportsobject[]required
keystringrequired
csstringrequired
enstringrequired
fixedOnlystring[]required
membersstring[]required
GET/v1/access-roles/{id}/effective
curl https://api.damedoklad.cz/v1/access-roles/obj_2n9F4kT7wQ1xYz0aBcDeFgHiJkL/effective \
  -H "Authorization: Bearer $DAMEDOKLAD_API_KEY"

List the agendas and levels a custom role can set, what each agenda needs to work, and the fixed roles written as rights to start from

GET/v1/access-roles/catalog

List the agendas and levels a custom role can set, what each agenda needs to work, and the fixed roles written as rights to start from

MCP tool: get-access-catalog

Response · 200

agendasobject[]required
keystringrequired
needsstring[]required
ownboolean
levelsstring[]required
presetsobjectrequired
ownerobjectrequired
contactsstringrequired
salesstringrequired
purchasesstringrequired
bankstringrequired
cashstringrequired
ledgerstringrequired
taxstringrequired
inventorystringrequired
assetsstringrequired
travelstringrequired
payrollstringrequired
agendasstringrequired
reportsstringrequired
inboxstringrequired
administrationstringrequired
accountantobjectrequired
contactsstringrequired
salesstringrequired
purchasesstringrequired
bankstringrequired
cashstringrequired
ledgerstringrequired
taxstringrequired
inventorystringrequired
assetsstringrequired
travelstringrequired
payrollstringrequired
agendasstringrequired
reportsstringrequired
inboxstringrequired
administrationstringrequired
invoicingobjectrequired
contactsstringrequired
salesstringrequired
purchasesstringrequired
bankstringrequired
cashstringrequired
ledgerstringrequired
taxstringrequired
inventorystringrequired
assetsstringrequired
travelstringrequired
payrollstringrequired
agendasstringrequired
reportsstringrequired
inboxstringrequired
administrationstringrequired
warehouseobjectrequired
contactsstringrequired
salesstringrequired
purchasesstringrequired
bankstringrequired
cashstringrequired
ledgerstringrequired
taxstringrequired
inventorystringrequired
assetsstringrequired
travelstringrequired
payrollstringrequired
agendasstringrequired
reportsstringrequired
inboxstringrequired
administrationstringrequired
readonlyobjectrequired
contactsstringrequired
salesstringrequired
purchasesstringrequired
bankstringrequired
cashstringrequired
ledgerstringrequired
taxstringrequired
inventorystringrequired
assetsstringrequired
travelstringrequired
payrollstringrequired
agendasstringrequired
reportsstringrequired
inboxstringrequired
administrationstringrequired
exportFormatsstring[]
printReportsobject[]
keystringrequired
agendastringrequired
csstringrequired
enstringrequired
GET/v1/access-roles/catalog
curl https://api.damedoklad.cz/v1/access-roles/catalog \
  -H "Authorization: Bearer $DAMEDOKLAD_API_KEY"

List what happened in this company lately: documents issued, payments recorded, statements imported. Without IP addresses or technical calls; the full log is in the audit log

GET/v1/activity

List what happened in this company lately: documents issued, payments recorded, statements imported. Without IP addresses or technical calls; the full log is in the audit log

MCP tool: list-activity

Query parameters

limitintegermin 1max 100

Response · 200

dataobject[]required
object"activity"required
idstringrequired
actionstringrequired
objectTypenull | stringrequired
objectIdnull | stringrequired
summarynull | stringrequired
actorLabelnull | stringrequired
createdAtstringrequireddate-time
totalinteger
Rows that match, on all pages.
hasMorebooleanrequired
More rows follow. Ask again with offset + the number of rows received.
GET/v1/activity
curl https://api.damedoklad.cz/v1/activity \
  -H "Authorization: Bearer $DAMEDOKLAD_API_KEY"

List API keys of this company. Secrets are never shown again after creation.

GET/v1/api-keys

List API keys of this company. Secrets are never shown again after creation.

MCP tool: list-api-keys

Query parameters

limitintegermin 1max 500
offsetintegermin 0max 9007199254740991
searchstringmax 200 chars

Response · 200

dataobject[]required
object"api_key"required
idstringrequired
namenull | stringrequired
hintstringrequired
scopestringrequired
sendScopebooleanrequired
lastUsedAtnull | stringrequireddate-time
revokedAtstring | nullrequired
createdAtstringrequireddate-time
secretstring
totalinteger
Rows that match, on all pages.
hasMorebooleanrequired
More rows follow. Ask again with offset + the number of rows received.
GET/v1/api-keys
curl https://api.damedoklad.cz/v1/api-keys \
  -H "Authorization: Bearer $DAMEDOKLAD_API_KEY"

Create an API key. scope "read" allows only reading, "full" also writing. sendScope lets it confirm payment orders and filings where an owner turned that on: only an owner in the dashboard can give it. The secret is returned once.

POST/v1/api-keys

Create an API key. scope "read" allows only reading, "full" also writing. sendScope lets it confirm payment orders and filings where an owner turned that on: only an owner in the dashboard can give it. The secret is returned once.

MCP tool: create-api-key

Request body

namestringrequiredmax 120 chars
scope"read" | "full"default "full"
sendScopebooleandefault false

Response · 201

idstringrequired
namenull | stringrequired
hintstringrequired
scopestringrequired
sendScopebooleanrequired
lastUsedAtnull | stringrequireddate-time
revokedAtstring | nullrequired
createdAtstringrequireddate-time
secretstring
POST/v1/api-keys
curl -X POST https://api.damedoklad.cz/v1/api-keys \
  -H "Authorization: Bearer $DAMEDOKLAD_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
  "name": "Pekárna U Lípy s.r.o."
}'

Revoke an API key. Anything using it stops working immediately.

DELETE/v1/api-keys/{id}

Revoke an API key. Anything using it stops working immediately.

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

MCP tool: revoke-api-key

Path parameters

idstringrequired

Response · 200

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

List the audit log: who did what, when, from which IP, on which object. Read only: entries can never be changed or deleted.

GET/v1/audit-events

List the audit log: who did what, when, from which IP, on which object. Read only: entries can never be changed or deleted.

MCP tool: list-audit-events

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.
actionstringmax 100 chars
oidstringmax 64 chars
actorIdstringmax 64 chars
ID of the actor.

Response · 200

dataobject[]required
object"audit_event"required
idstringrequired
actionstringrequired
objectTypenull | stringrequired
objectIdnull | stringrequired
summarynull | stringrequired
diffanyrequired
actorTypestring
actorIdnull | string
actorLabelnull | string
ipnull | string
createdAtstringrequireddate-time
totalinteger
Rows that match, on all pages.
hasMorebooleanrequired
More rows follow. Ask again with offset + the number of rows received.
GET/v1/audit-events
curl https://api.damedoklad.cz/v1/audit-events \
  -H "Authorization: Bearer $DAMEDOKLAD_API_KEY"

The state of the tamper-evident chain: its latest hash, what waits to be sealed, and the last verification.

GET/v1/audit/chain

The state of the tamper-evident chain: its latest hash, what waits to be sealed, and the last verification.

MCP tool: get-audit-chain

Response · 200

lastnull | objectrequired
okbooleanrequired
reasonnull | stringrequired
entriesintegerrequired
waitingintegerrequired
completebooleanrequired
headHashnull | stringrequired
brokenSeqinteger | nullrequired
sealsCheckedintegerrequired
verifiedAtstringrequireddate-time
headHashnull | stringrequired
headSeqintegerrequired
sealedAtnull | stringrequireddate-time
waitingintegerrequired
GET/v1/audit/chain
curl https://api.damedoklad.cz/v1/audit/chain \
  -H "Authorization: Bearer $DAMEDOKLAD_API_KEY"

The company's audit as a timeline: who did what, when and from where. One entry per request or job, including everything a trigger recorded. Ordinary reads are not recorded.

GET/v1/audit/entries

The company's audit as a timeline: who did what, when and from where. One entry per request or job, including everything a trigger recorded. Ordinary reads are not recorded.

MCP tool: list-audit-entries

Query parameters

actorIdstringmax 80 chars
ID of the actor.
agendastringmax 40 chars
objectTypestringmax 80 chars
objectIdstringmax 200 chars
ID of the object.
actionstringmax 40 chars
surface"dashboard" | "public_api" | "mcp" | "job" | "import" | "public_link" | "webhook" | "migration" | "unknown"
fromstringYYYY-MM-DD
Date as YYYY-MM-DD.
tostringYYYY-MM-DD
Date as YYYY-MM-DD.
searchstringmax 100 chars
locale"cs" | "en"
limitintegermin 1max 200
offsetintegermin 0max 9007199254740991

Response · 200

dataobject[]required
object"audit_entry"required
idstringrequired
createdAtstringrequireddate-time
actorobjectrequired
typestringrequired
idnull | stringrequired
namenull | stringrequired
emailnull | stringrequired
jobnull | stringrequired
displaystringrequired
behalfnull | objectrequired
idstringrequired
namenull | stringrequired
emailnull | stringrequired
supportstring | nullrequired
whereobjectrequired
surfacestringrequired
surfaceLabelstringrequired
operationIdnull | stringrequired
methodnull | stringrequired
routenull | stringrequired
ipnull | stringrequired
userAgentnull | stringrequired
requestIdnull | stringrequired
actionnull | stringrequired
whatstringrequired
subjectnull | objectrequired
typenull | stringrequired
typeLabelnull | stringrequired
idstringrequired
labelnull | stringrequired
agendanull | stringrequired
changeCountintegerrequired
eventCountintegerrequired
agendasobject[]
idstringrequired
labelnull | stringrequired
legacybooleanrequired
directCountinteger
collapsedobject[]
tablestringrequired
opstringrequired
typeLabelstringrequired
actionstringrequired
actionLabelstringrequired
countintegerrequired
changesobject[]
object"audit_change"required
idintegerrequired
tablestringrequired
typeLabelstringrequired
agendastringrequired
agendaLabelstringrequired
objectIdnull | stringrequired
parentIdnull | stringrequired
labelnull | stringrequired
actionstringrequired
actionLabelstringrequired
fieldsobject[]required
fieldnull | stringrequired
labelnull | stringrequired
formatnull | stringrequired
beforearray | integer | null | stringrequired
afterarray | boolean | integer | null | object | stringrequired
hiddenboolean | nullrequired
beforeLabelnull | string
afterLabelnull | string
beforeTextnull | string
afterTextnull | string
currencynull | string
eventsobject[]
object"audit_event"required
idstringrequired
actionstringrequired
objectTypenull | stringrequired
objectIdnull | stringrequired
summarynull | stringrequired
diffanyrequired
actorTypestring
actorIdnull | string
actorLabelnull | string
ipnull | string
createdAtstringrequireddate-time
totalinteger
Rows that match, on all pages.
hasMorebooleanrequired
More rows follow. Ask again with offset + the number of rows received.
GET/v1/audit/entries
curl https://api.damedoklad.cz/v1/audit/entries \
  -H "Authorization: Bearer $DAMEDOKLAD_API_KEY"

The filtered audit as CSV, up to 20 000 entries. The export itself is recorded.

GET/v1/audit/entries.csv

The filtered audit as CSV, up to 20 000 entries. The export itself is recorded.

MCP tool: export-audit-csv

Query parameters

actorIdstringmax 80 chars
ID of the actor.
agendastringmax 40 chars
objectTypestringmax 80 chars
objectIdstringmax 200 chars
ID of the object.
actionstringmax 40 chars
surface"dashboard" | "public_api" | "mcp" | "job" | "import" | "public_link" | "webhook" | "migration" | "unknown"
fromstringYYYY-MM-DD
Date as YYYY-MM-DD.
tostringYYYY-MM-DD
Date as YYYY-MM-DD.
searchstringmax 100 chars
locale"cs" | "en"
limitintegermin 1max 200
offsetintegermin 0max 9007199254740991

Response · 200

Returns a text/csv file.

GET/v1/audit/entries.csv
curl https://api.damedoklad.cz/v1/audit/entries.csv \
  -H "Authorization: Bearer $DAMEDOKLAD_API_KEY" \
  -o soubor

The filtered audit as XLSX, up to 20 000 entries. The export itself is recorded.

GET/v1/audit/entries.xlsx

The filtered audit as XLSX, up to 20 000 entries. The export itself is recorded.

MCP tool: export-audit-xlsx

Query parameters

actorIdstringmax 80 chars
ID of the actor.
agendastringmax 40 chars
objectTypestringmax 80 chars
objectIdstringmax 200 chars
ID of the object.
actionstringmax 40 chars
surface"dashboard" | "public_api" | "mcp" | "job" | "import" | "public_link" | "webhook" | "migration" | "unknown"
fromstringYYYY-MM-DD
Date as YYYY-MM-DD.
tostringYYYY-MM-DD
Date as YYYY-MM-DD.
searchstringmax 100 chars
locale"cs" | "en"
limitintegermin 1max 200
offsetintegermin 0max 9007199254740991

Response · 200

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

GET/v1/audit/entries.xlsx
curl https://api.damedoklad.cz/v1/audit/entries.xlsx \
  -H "Authorization: Bearer $DAMEDOKLAD_API_KEY" \
  -o soubor

One audit entry with every row it changed, field by field. A secret field says it changed and never its value.

GET/v1/audit/entries/{id}

One audit entry with every row it changed, field by field. A secret field says it changed and never its value.

MCP tool: get-audit-entry

Path parameters

idstringrequired

Query parameters

locale"cs" | "en"
tablestringmax 80 chars
op"I" | "U" | "D"
limitintegermin 1max 500
offsetintegermin 0max 9007199254740991

Response · 200

idstringrequired
createdAtstringrequireddate-time
actorobjectrequired
typestringrequired
idnull | stringrequired
namenull | stringrequired
emailnull | stringrequired
jobnull | stringrequired
displaystringrequired
behalfnull | objectrequired
idstringrequired
namenull | stringrequired
emailnull | stringrequired
supportstring | nullrequired
whereobjectrequired
surfacestringrequired
surfaceLabelstringrequired
operationIdnull | stringrequired
methodnull | stringrequired
routenull | stringrequired
ipnull | stringrequired
userAgentnull | stringrequired
requestIdnull | stringrequired
actionnull | stringrequired
whatstringrequired
subjectnull | objectrequired
typenull | stringrequired
typeLabelnull | stringrequired
idstringrequired
labelnull | stringrequired
agendanull | stringrequired
changeCountintegerrequired
eventCountintegerrequired
agendasobject[]
idstringrequired
labelnull | stringrequired
legacybooleanrequired
directCountinteger
collapsedobject[]
tablestringrequired
opstringrequired
typeLabelstringrequired
actionstringrequired
actionLabelstringrequired
countintegerrequired
changesobject[]
object"audit_change"required
idintegerrequired
tablestringrequired
typeLabelstringrequired
agendastringrequired
agendaLabelstringrequired
objectIdnull | stringrequired
parentIdnull | stringrequired
labelnull | stringrequired
actionstringrequired
actionLabelstringrequired
fieldsobject[]required
fieldnull | stringrequired
labelnull | stringrequired
formatnull | stringrequired
beforearray | integer | null | stringrequired
afterarray | boolean | integer | null | object | stringrequired
itemsinteger
offersinteger
ordersinteger
pricesinteger
journalinteger
accountsinteger
archivedinteger
contactsinteger
invoicesinteger
postingsinteger
vouchersinteger | string
enquiriesinteger
movementsinteger
dimensionsinteger
priceListsinteger
warehousesinteger
productionsinteger
bankAccountsstring
saleVouchersinteger | string
bankMovementsinteger
cashRegistersinteger
stockDocumentsinteger
stockTransfersinteger
contactsUpdatedinteger
hiddenboolean | nullrequired
beforeLabelnull | string
afterLabelnull | string
beforeTextnull | string
afterTextnull | string
currencynull | string
eventsobject[]
object"audit_event"required
idstringrequired
actionstringrequired
objectTypenull | stringrequired
objectIdnull | stringrequired
summarynull | stringrequired
diffanyrequired
actorTypestring
actorIdnull | string
actorLabelnull | string
ipnull | string
createdAtstringrequireddate-time
GET/v1/audit/entries/{id}
curl https://api.damedoklad.cz/v1/audit/entries/obj_2n9F4kT7wQ1xYz0aBcDeFgHiJkL \
  -H "Authorization: Bearer $DAMEDOKLAD_API_KEY"

What the audit can be filtered by: people and keys that appear in it, agendas, actions and surfaces.

GET/v1/audit/facets

What the audit can be filtered by: people and keys that appear in it, agendas, actions and surfaces.

MCP tool: get-audit-facets

Query parameters

locale"cs" | "en"

Response · 200

actorsobject[]required
idstringrequired
typestringrequired
namenull | stringrequired
emailnull | stringrequired
labelnull | stringrequired
agendasobject[]required
idstringrequired
labelnull | stringrequired
actionsobject[]required
idstringrequired
labelnull | stringrequired
surfacesobject[]required
idstringrequired
labelnull | stringrequired
GET/v1/audit/facets
curl https://api.damedoklad.cz/v1/audit/facets \
  -H "Authorization: Bearer $DAMEDOKLAD_API_KEY"

The whole trail of one record: a document with its lines and payments, or a contact. Whoever may read the record may read this.

GET/v1/audit/objects/{id}/history

The whole trail of one record: a document with its lines and payments, or a contact. Whoever may read the record may read this.

MCP tool: get-audit-history

Path parameters

idstringrequired

Query parameters

locale"cs" | "en"
tablestringmax 80 chars
op"I" | "U" | "D"
limitintegermin 1max 500
offsetintegermin 0max 9007199254740991
searchstringmax 200 chars

Response · 200

dataobject[]required
object"audit_entry"required
idstringrequired
createdAtstringrequireddate-time
actorobjectrequired
typestringrequired
idnull | stringrequired
namenull | stringrequired
emailnull | stringrequired
jobnull | stringrequired
displaystringrequired
behalfnull | objectrequired
idstringrequired
namenull | stringrequired
emailnull | stringrequired
supportstring | nullrequired
whereobjectrequired
surfacestringrequired
surfaceLabelstringrequired
operationIdnull | stringrequired
methodnull | stringrequired
routenull | stringrequired
ipnull | stringrequired
userAgentnull | stringrequired
requestIdnull | stringrequired
actionnull | stringrequired
whatstringrequired
subjectnull | objectrequired
typenull | stringrequired
typeLabelnull | stringrequired
idstringrequired
labelnull | stringrequired
agendanull | stringrequired
changeCountintegerrequired
eventCountintegerrequired
agendasobject[]
idstringrequired
labelnull | stringrequired
legacybooleanrequired
directCountinteger
collapsedobject[]
tablestringrequired
opstringrequired
typeLabelstringrequired
actionstringrequired
actionLabelstringrequired
countintegerrequired
changesobject[]
object"audit_change"required
idintegerrequired
tablestringrequired
typeLabelstringrequired
agendastringrequired
agendaLabelstringrequired
objectIdnull | stringrequired
parentIdnull | stringrequired
labelnull | stringrequired
actionstringrequired
actionLabelstringrequired
fieldsobject[]required
fieldnull | stringrequired
labelnull | stringrequired
formatnull | stringrequired
beforearray | integer | null | stringrequired
afterarray | boolean | integer | null | object | stringrequired
hiddenboolean | nullrequired
beforeLabelnull | string
afterLabelnull | string
beforeTextnull | string
afterTextnull | string
currencynull | string
eventsobject[]
object"audit_event"required
idstringrequired
actionstringrequired
objectTypenull | stringrequired
objectIdnull | stringrequired
summarynull | stringrequired
diffanyrequired
actorTypestring
actorIdnull | string
actorLabelnull | string
ipnull | string
createdAtstringrequireddate-time
totalinteger
Rows that match, on all pages.
hasMorebooleanrequired
More rows follow. Ask again with offset + the number of rows received.
GET/v1/audit/objects/{id}/history
curl https://api.damedoklad.cz/v1/audit/objects/obj_2n9F4kT7wQ1xYz0aBcDeFgHiJkL/history \
  -H "Authorization: Bearer $DAMEDOKLAD_API_KEY"

Seals what is waiting and recomputes the company's hash chain against the recorded data. Answers the first thing that does not hold.

POST/v1/audit/verify

Seals what is waiting and recomputes the company's hash chain against the recorded data. Answers the first thing that does not hold.

MCP tool: verify-audit-chain

Response · 200

okbooleanrequired
completebooleanrequired
sealsCheckedintegerrequired
entriesintegerrequired
waitingintegerrequired
headHashnull | stringrequired
brokenSeqinteger | nullrequired
reasonnull | stringrequired
verifiedAtstringrequireddate-time
POST/v1/audit/verify
curl -X POST https://api.damedoklad.cz/v1/audit/verify \
  -H "Authorization: Bearer $DAMEDOKLAD_API_KEY"

Show the current plan, trial, usage against limits, and whether online payment is available

GET/v1/billing

Show the current plan, trial, usage against limits, and whether online payment is available

MCP tool: get-billing

Response · 200

enabledbooleanrequired
subscriptionobjectrequired
object"billing_subscription"required
idnull | stringrequired
planstringrequired
statusstringrequired
intervalnull | stringrequired
trialEndsAtnull | stringrequireddate-time
currentPeriodEndnull | stringrequireddate-time
cancelAtPeriodEndbooleanrequired
hasCustomerbooleanrequired
planobjectrequired
object"plan"required
idstringrequired
namenull | objectrequired
csstringrequired
enstringrequired
descriptionnull | objectrequired
csstringrequired
enstringrequired
monthlyHalerintegerrequired
yearlyHalerintegerrequired
limitsobjectrequired
documentsPerMonthinteger | nullrequired
membersinteger | nullrequired
featuresobjectrequired
apibooleanrequired
webhooksbooleanrequired
inboxAibooleanrequired
purchasablebooleanrequired
usageobjectrequired
documentsThisMonthintegerrequired
membersintegerrequired
plansobject[]required
object"plan"required
idstringrequired
namenull | objectrequired
csstringrequired
enstringrequired
descriptionnull | objectrequired
csstringrequired
enstringrequired
monthlyHalerintegerrequired
yearlyHalerintegerrequired
limitsobjectrequired
documentsPerMonthinteger | nullrequired
membersinteger | nullrequired
featuresobjectrequired
apibooleanrequired
webhooksbooleanrequired
inboxAibooleanrequired
purchasablebooleanrequired
GET/v1/billing
curl https://api.damedoklad.cz/v1/billing \
  -H "Authorization: Bearer $DAMEDOKLAD_API_KEY"

Get the company profile: name, IČO, DIČ, address, VAT status, default bank account, document design

GET/v1/company

Get the company profile: name, IČO, DIČ, address, VAT status, default bank account, document design

MCP tool: get-company

Response · 200

idstringrequired
sidstringrequired
namenull | stringrequired
iconull | stringrequired
dicnull | stringrequired
regimestringrequired
vatPayerbooleanrequired
vatPeriodstringrequired
defaultCurrencystringrequired
onboardedbooleanrequired
scheduledRegimeChangenull | objectrequired
regimestringrequired
effectiveFromnull | stringrequireddate
vatHistoryobject[]required
fromnull | stringrequireddate
vatPayerbooleanrequired
vatPeriodstringrequired
notenull | string
streetnull | stringrequired
citynull | stringrequired
postalCodenull | stringrequired
countrynull | stringrequired
emailnull | stringrequired
phonenull | stringrequired
wwwnull | stringrequired
registerNoteanyrequired
Null in every recorded response.
defaultLanguagestringrequired
bankAccountobjectrequired
accountNumbernull | stringrequired
bankCodenull | stringrequired
ibannull | string
swiftstring | null
logoFileIdnull | stringrequired
designobjectrequired
accentColornull | stringrequired
footerTextnull | stringrequired
showLogobooleanrequired
showQrCodebooleanrequired
logoPositionstring
createdAtstringrequireddate-time
stampFileIdnull | string
GET/v1/company
curl https://api.damedoklad.cz/v1/company \
  -H "Authorization: Bearer $DAMEDOKLAD_API_KEY"

Update the company profile. The accounting regime has its own operation.

PATCH/v1/company

Update the company profile. The accounting regime has its own operation.

MCP tool: update-company

Request body

namestringmax 160 chars
icostring | null
Czech company number (IČO), 8 digits.
dicstring | null
VAT number (DIČ), for example CZ12345678.
streetstring | null
citystring | null
postalCodestring | null
countrystring2 chars
emailstring | null
phonestring | null
wwwstring | null
registerNotestring | null
vatPayerboolean
vatPeriod"monthly" | "quarterly"
defaultCurrencystring3 chars
ISO 4217 currency code, for example CZK or EUR.
defaultLanguage"cs" | "en"
bankAccountobject
accountNumberstring | null
Account number from the chart of accounts, for example 311. list-accounts lists them.
bankCodestring | null
ibanstring | null
IBAN without spaces.
swiftstring | null
designobject
accentColorstring | null
footerTextstring | null
showLogoboolean
showQrCodeboolean

Response · 200

idstringrequired
sidstringrequired
namenull | stringrequired
iconull | stringrequired
dicnull | stringrequired
regimestringrequired
vatPayerbooleanrequired
vatPeriodstringrequired
defaultCurrencystringrequired
onboardedbooleanrequired
scheduledRegimeChangenull | objectrequired
regimestringrequired
effectiveFromnull | stringrequireddate
vatHistoryobject[]required
fromnull | stringrequireddate
vatPayerbooleanrequired
vatPeriodstringrequired
notenull | string
streetnull | stringrequired
citynull | stringrequired
postalCodenull | stringrequired
countrynull | stringrequired
emailnull | stringrequired
phonenull | stringrequired
wwwnull | stringrequired
registerNoteanyrequired
Null in every recorded response.
defaultLanguagestringrequired
bankAccountobjectrequired
accountNumbernull | stringrequired
bankCodenull | stringrequired
ibannull | string
swiftstring | null
logoFileIdnull | stringrequired
designobjectrequired
accentColornull | stringrequired
footerTextnull | stringrequired
showLogobooleanrequired
showQrCodebooleanrequired
logoPositionstring
createdAtstringrequireddate-time
stampFileIdnull | string
PATCH/v1/company
curl -X PATCH https://api.damedoklad.cz/v1/company \
  -H "Authorization: Bearer $DAMEDOKLAD_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
  "name": "Pekárna U Lípy s.r.o.",
  "ico": "12345678",
  "dic": "CZ12345678"
}'

Which agendas this company shows in the dashboard. Display only: the API and MCP reach every agenda whatever this says, and data is never removed. An agenda holding data or required by the regime stays visible

GET/v1/company/agendas

Which agendas this company shows in the dashboard. Display only: the API and MCP reach every agenda whatever this says, and data is never removed. An agenda holding data or required by the regime stays visible

MCP tool: get-company-agendas

Response · 200

showAllbooleanrequired
chosenbooleanrequired
agendasobject[]required
keystringrequired
groupstringrequired
parentnull | stringrequired
lockedbooleanrequired
hasDatabooleanrequired
enabledbooleanrequired
visiblebooleanrequired
GET/v1/company/agendas
curl https://api.damedoklad.cz/v1/company/agendas \
  -H "Authorization: Bearer $DAMEDOKLAD_API_KEY"

Turn agendas on or off in the dashboard, or show everything. Owner only. Nothing is removed, and an agenda holding data stays visible

PUT/v1/company/agendas

Turn agendas on or off in the dashboard, or show everything. Owner only. Nothing is removed, and an agenda holding data stays visible

MCP tool: update-company-agendas

Request body

showAllboolean
onstring[]
offstring[]

Response · 200

showAllbooleanrequired
chosenbooleanrequired
agendasobject[]required
keystringrequired
groupstringrequired
parentnull | stringrequired
lockedbooleanrequired
hasDatabooleanrequired
enabledbooleanrequired
visiblebooleanrequired
PUT/v1/company/agendas
curl -X PUT https://api.damedoklad.cz/v1/company/agendas \
  -H "Authorization: Bearer $DAMEDOKLAD_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
  "showAll": false,
  "on": [
    "string"
  ],
  "off": [
    "string"
  ]
}'

Look up an IČO in ARES and return name, address and DIČ to prefill. Saves nothing.

POST/v1/company/ares

Look up an IČO in ARES and return name, address and DIČ to prefill. Saves nothing.

MCP tool: lookup-company-in-ares

Request body

icostringrequired
Czech company number (IČO), 8 digits.

Response · 200

sourcestringrequired
iconull | stringrequired
dicnull | stringrequired
namenull | stringrequired
vatPayerTypestringrequired
addressnull | objectrequired
streetnull | stringrequired
citynull | stringrequired
postalCodenull | stringrequired
countrynull | stringrequired
POST/v1/company/ares
curl -X POST https://api.damedoklad.cz/v1/company/ares \
  -H "Authorization: Bearer $DAMEDOKLAD_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
  "ico": "12345678"
}'

Change the accounting regime (daňová evidence, jednoduché, podvojné účetnictví). With entries in the books it can only be scheduled for the first day of a future period.

POST/v1/company/regime

Change the accounting regime (daňová evidence, jednoduché, podvojné účetnictví). With entries in the books it can only be scheduled for the first day of a future period.. Returns 409 regime_has_entries when the books hold entries and no valid effectiveFrom is given. This has tax consequences: confirm with the user.

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

MCP tool: change-accounting-regime

Request body

regime"tax_records" | "single_entry" | "double_entry"required
effectiveFromstringYYYY-MM-DD
Date as YYYY-MM-DD.

Response · 200

idstringrequired
sidstringrequired
namenull | stringrequired
iconull | stringrequired
dicnull | stringrequired
regimestringrequired
vatPayerbooleanrequired
vatPeriodstringrequired
defaultCurrencystringrequired
onboardedbooleanrequired
scheduledRegimeChangenull | objectrequired
regimestringrequired
effectiveFromnull | stringrequireddate
vatHistoryobject[]required
fromnull | stringrequireddate
vatPayerbooleanrequired
vatPeriodstringrequired
notenull | string
streetnull | stringrequired
citynull | stringrequired
postalCodenull | stringrequired
countrynull | stringrequired
emailnull | stringrequired
phonenull | stringrequired
wwwnull | stringrequired
registerNoteanyrequired
Null in every recorded response.
defaultLanguagestringrequired
bankAccountobjectrequired
accountNumbernull | stringrequired
bankCodenull | stringrequired
ibannull | string
swiftstring | null
logoFileIdnull | stringrequired
designobjectrequired
accentColornull | stringrequired
footerTextnull | stringrequired
showLogobooleanrequired
showQrCodebooleanrequired
logoPositionstring
createdAtstringrequireddate-time
stampFileIdnull | string
POST/v1/company/regime
curl -X POST https://api.damedoklad.cz/v1/company/regime \
  -H "Authorization: Bearer $DAMEDOKLAD_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
  "regime": "tax_records"
}'

Upload the company stamp a print layout can place as an element (PNG or JPEG, up to 2 MB)

POST/v1/company/stamp

Upload the company stamp a print layout can place as an element (PNG or JPEG, up to 2 MB)

MCP tool: upload-company-stamp

Request body

contentType"image/png" | "image/jpeg"required
fileBase64stringrequiredmax 3145728 chars
File content encoded as base64.

Response · 200

idstringrequired
sidstringrequired
namenull | stringrequired
iconull | stringrequired
dicnull | stringrequired
regimestringrequired
vatPayerbooleanrequired
vatPeriodstringrequired
defaultCurrencystringrequired
onboardedbooleanrequired
scheduledRegimeChangenull | objectrequired
regimestringrequired
effectiveFromnull | stringrequireddate
vatHistoryobject[]required
fromnull | stringrequireddate
vatPayerbooleanrequired
vatPeriodstringrequired
notenull | string
streetnull | stringrequired
citynull | stringrequired
postalCodenull | stringrequired
countrynull | stringrequired
emailnull | stringrequired
phonenull | stringrequired
wwwnull | stringrequired
registerNoteanyrequired
Null in every recorded response.
defaultLanguagestringrequired
bankAccountobjectrequired
accountNumbernull | stringrequired
bankCodenull | stringrequired
ibannull | string
swiftstring | null
logoFileIdnull | stringrequired
designobjectrequired
accentColornull | stringrequired
footerTextnull | stringrequired
showLogobooleanrequired
showQrCodebooleanrequired
logoPositionstring
createdAtstringrequireddate-time
stampFileIdnull | string
POST/v1/company/stamp
curl -X POST https://api.damedoklad.cz/v1/company/stamp \
  -H "Authorization: Bearer $DAMEDOKLAD_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
  "contentType": "image/png",
  "fileBase64": "string"
}'

Forget the company stamp picture. A stamp on a layout then prints the company name and numbers in a frame

DELETE/v1/company/stamp

Forget the company stamp picture. A stamp on a layout then prints the company name and numbers in a frame

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

MCP tool: delete-company-stamp

Response · 200

idstringrequired
sidstringrequired
namenull | stringrequired
iconull | stringrequired
dicnull | stringrequired
regimestringrequired
vatPayerbooleanrequired
vatPeriodstringrequired
defaultCurrencystringrequired
onboardedbooleanrequired
scheduledRegimeChangenull | objectrequired
regimestringrequired
effectiveFromnull | stringrequireddate
vatHistoryobject[]required
fromnull | stringrequireddate
vatPayerbooleanrequired
vatPeriodstringrequired
notenull | string
streetnull | stringrequired
citynull | stringrequired
postalCodenull | stringrequired
countrynull | stringrequired
emailnull | stringrequired
phonenull | stringrequired
wwwnull | stringrequired
registerNoteanyrequired
Null in every recorded response.
defaultLanguagestringrequired
bankAccountobjectrequired
accountNumbernull | stringrequired
bankCodenull | stringrequired
ibannull | string
swiftstring | null
logoFileIdnull | stringrequired
designobjectrequired
accentColornull | stringrequired
footerTextnull | stringrequired
showLogobooleanrequired
showQrCodebooleanrequired
logoPositionstring
createdAtstringrequireddate-time
stampFileIdnull | string
DELETE/v1/company/stamp
curl -X DELETE https://api.damedoklad.cz/v1/company/stamp \
  -H "Authorization: Bearer $DAMEDOKLAD_API_KEY"

List the comments on one document, oldest first

GET/v1/document-comments

List the comments on one document, oldest first

MCP tool: list-document-comments

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.
documentKind"invoice" | "received_invoice" | "proforma" | "supplier_advance" | "credit_note" | "delivery_note" | "inbox_document" | "cash_document" | "sales_document"required
documentIdstringrequiredmax 64 chars
ID of the document.

Response · 200

dataobject[]required
object"document_comment"required
idstringrequired
documentKindstringrequired
documentIdstringrequired
authorIdnull | stringrequired
authorNamenull | stringrequired
bodystringrequired
resolvedAtnull | stringrequireddate-time
createdAtstringrequireddate-time
minebooleanrequired
totalinteger
Rows that match, on all pages.
hasMorebooleanrequired
More rows follow. Ask again with offset + the number of rows received.
GET/v1/document-comments
curl https://api.damedoklad.cz/v1/document-comments \
  -H "Authorization: Bearer $DAMEDOKLAD_API_KEY"

Comment on a document. E-mails the other people who run the books here.

POST/v1/document-comments

Comment on a document. E-mails the other people who run the books here.

MCP tool: create-document-comment

Request body

documentKind"invoice" | "received_invoice" | "proforma" | "supplier_advance" | "credit_note" | "delivery_note" | "inbox_document" | "cash_document" | "sales_document"required
documentIdstringrequiredmax 64 chars
ID of the document.
bodystringrequiredmax 4000 chars

Response · 201

idstringrequired
documentKindstringrequired
documentIdstringrequired
authorIdnull | stringrequired
authorNamenull | stringrequired
bodystringrequired
resolvedAtnull | stringrequireddate-time
createdAtstringrequireddate-time
minebooleanrequired
POST/v1/document-comments
curl -X POST https://api.damedoklad.cz/v1/document-comments \
  -H "Authorization: Bearer $DAMEDOKLAD_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
  "documentKind": "invoice",
  "documentId": "obj_2n9F4kT7wQ1xYz0aBcDeFgHiJkL",
  "body": "string"
}'

Delete your own comment

DELETE/v1/document-comments/{id}

Delete your own comment

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

MCP tool: delete-document-comment

Path parameters

idstringrequired

Response · 200

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

Mark a comment as dealt with, so it no longer counts as open

POST/v1/document-comments/{id}/resolve

Mark a comment as dealt with, so it no longer counts as open

MCP tool: resolve-document-comment

Path parameters

idstringrequired

Response · 200

idstringrequired
documentKindstringrequired
documentIdstringrequired
authorIdnull | stringrequired
authorNamenull | stringrequired
bodystringrequired
resolvedAtnull | stringrequireddate-time
createdAtstringrequireddate-time
minebooleanrequired
POST/v1/document-comments/{id}/resolve
curl -X POST https://api.damedoklad.cz/v1/document-comments/obj_2n9F4kT7wQ1xYz0aBcDeFgHiJkL/resolve \
  -H "Authorization: Bearer $DAMEDOKLAD_API_KEY"

Download finished documents for another accounting system: POHODA XML, Money S3 XML, CSV with the journal, or ISDOC files in a ZIP

GET/v1/document-exports

Download finished documents for another accounting system: POHODA XML, Money S3 XML, CSV with the journal, or ISDOC files in a ZIP. format=pohoda gives a dataPack of invoices, credit notes, advance invoices, orders, stock cards and stock documents. format=money_s3 gives MoneyData with issued and received invoices, orders, stock cards and stock documents; proformas have no place there. format=csv gives a ZIP of invoices, lines and journal. format=isdoc gives a ZIP of issued documents. Drafts and cancelled documents are left out. kinds narrows it: order, stock_card, stock_document only for the two XML formats.

MCP tool: export-accounting-documents

Query parameters

format"pohoda" | "money_s3" | "csv" | "isdoc"required
fromstringYYYY-MM-DD
Date as YYYY-MM-DD.
tostringYYYY-MM-DD
Date as YYYY-MM-DD.
kindsstring

Response · 200

Returns a application/octet-stream file.

GET/v1/document-exports
curl https://api.damedoklad.cz/v1/document-exports \
  -H "Authorization: Bearer $DAMEDOKLAD_API_KEY" \
  -o soubor

List requests for documents in this company, newest first

GET/v1/document-requests

List requests for documents in this company, newest first

MCP tool: list-document-requests

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"open" | "fulfilled" | "cancelled"

Response · 200

dataobject[]required
object"document_request"required
idstringrequired
titlestringrequired
messagestring | nullrequired
periodFromstring | nullrequired
periodTostring | nullrequired
dueOnstringrequireddate
recipientsstring[]required
statusstringrequired
reminderEveryDaysintegerrequired
maxRemindersintegerrequired
remindersSentintegerrequired
nextReminderOnnull | stringrequireddate
lastRemindedAtnull | stringrequireddate-time
documentsReceivedintegerrequired
fulfilledAtnull | stringrequireddate-time
createdAtstringrequireddate-time
failedRecipientsany[]
totalinteger
Rows that match, on all pages.
hasMorebooleanrequired
More rows follow. Ask again with offset + the number of rows received.
GET/v1/document-requests
curl https://api.damedoklad.cz/v1/document-requests \
  -H "Authorization: Bearer $DAMEDOKLAD_API_KEY"

Ask the client for documents and remind them by e-mail until they are in. Sends real e-mail; confirm the recipients first.

POST/v1/document-requests

Ask the client for documents and remind them by e-mail until they are in. Sends real e-mail; confirm the recipients first.

MCP tool: create-document-request

Request body

titlestringrequiredmax 160 chars
messagestringmax 2000 chars
periodFromstringYYYY-MM-DD
Date as YYYY-MM-DD.
periodTostringYYYY-MM-DD
Date as YYYY-MM-DD.
dueOnstringrequiredYYYY-MM-DD
Date as YYYY-MM-DD.
recipientsstring[]
reminderEveryDaysintegermin 1max 30default 3
maxRemindersintegermin 0max 20default 5

Response · 201

idstringrequired
titlestringrequired
messagestring | nullrequired
periodFromstring | nullrequired
periodTostring | nullrequired
dueOnstringrequireddate
recipientsstring[]required
statusstringrequired
reminderEveryDaysintegerrequired
maxRemindersintegerrequired
remindersSentintegerrequired
nextReminderOnnull | stringrequireddate
lastRemindedAtnull | stringrequireddate-time
documentsReceivedintegerrequired
fulfilledAtnull | stringrequireddate-time
createdAtstringrequireddate-time
failedRecipientsany[]
POST/v1/document-requests
curl -X POST https://api.damedoklad.cz/v1/document-requests \
  -H "Authorization: Bearer $DAMEDOKLAD_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
  "title": "string",
  "dueOn": "2026-10-30"
}'

Withdraw a request for documents. Stops the reminders.

POST/v1/document-requests/{id}/cancel

Withdraw a request for documents. Stops the reminders.

MCP tool: cancel-document-request

Path parameters

idstringrequired

Response · 200

idstringrequired
titlestringrequired
messagestring | nullrequired
periodFromstring | nullrequired
periodTostring | nullrequired
dueOnstringrequireddate
recipientsstring[]required
statusstringrequired
reminderEveryDaysintegerrequired
maxRemindersintegerrequired
remindersSentintegerrequired
nextReminderOnnull | stringrequireddate
lastRemindedAtnull | stringrequireddate-time
documentsReceivedintegerrequired
fulfilledAtnull | stringrequireddate-time
createdAtstringrequireddate-time
failedRecipientsany[]
POST/v1/document-requests/{id}/cancel
curl -X POST https://api.damedoklad.cz/v1/document-requests/obj_2n9F4kT7wQ1xYz0aBcDeFgHiJkL/cancel \
  -H "Authorization: Bearer $DAMEDOKLAD_API_KEY"

Say the requested documents are all in. Stops the reminders.

POST/v1/document-requests/{id}/fulfil

Say the requested documents are all in. Stops the reminders.

MCP tool: fulfil-document-request

Path parameters

idstringrequired

Response · 200

idstringrequired
titlestringrequired
messagestring | nullrequired
periodFromstring | nullrequired
periodTostring | nullrequired
dueOnstringrequireddate
recipientsstring[]required
statusstringrequired
reminderEveryDaysintegerrequired
maxRemindersintegerrequired
remindersSentintegerrequired
nextReminderOnnull | stringrequireddate
lastRemindedAtnull | stringrequireddate-time
documentsReceivedintegerrequired
fulfilledAtnull | stringrequireddate-time
createdAtstringrequireddate-time
failedRecipientsany[]
POST/v1/document-requests/{id}/fulfil
curl -X POST https://api.damedoklad.cz/v1/document-requests/obj_2n9F4kT7wQ1xYz0aBcDeFgHiJkL/fulfil \
  -H "Authorization: Bearer $DAMEDOKLAD_API_KEY"

List workspace exports, newest first

GET/v1/exports

List workspace exports, newest first

MCP tool: list-data-exports

Query parameters

limitintegermin 1max 500
offsetintegermin 0max 9007199254740991
searchstringmax 200 chars

Response · 200

dataobject[]required
object"data_export"required
idstringrequired
statusstringrequired
byteSizeinteger | nullrequired
summarynull | objectrequired
pdfsintegerrequired
filesintegerrequired
tablesobjectrequired
bomsinteger
filesintegerrequired
itemsinteger
assetsinteger
leasesinteger
seriesintegerrequired
periodsintegerrequired
accountsintegerrequired
contactsintegerrequired
invoicesintegerrequired
vehiclesinteger
bom_linesinteger
employeesinteger
movementsinteger
proformasinteger
dimensionsinteger
stock_lotsinteger
stocktakesinteger
warehousesinteger
credentialsintegerrequired
audit_eventsintegerrequired
credit_notesinteger
data_exportsintegerrequired
stock_layersinteger
tax_profilesinteger
bank_accountsinteger
cash_countersinteger
invoice_linesintegerrequired
journal_linesintegerrequired
movement_lotsinteger
travel_ordersinteger
bank_movementsinteger
cash_documentsinteger
cash_registersinteger
contact_groupsinteger
delivery_notesinteger
import_batchesinteger
proforma_linesinteger
stock_balancesinteger
user_workspaceintegerrequired
vehicle_routesinteger
inbox_documentsintegerrequired
journal_entriesintegerrequired
movement_layersinteger
stock_documentsinteger
stocktake_linesinteger
bank_allocationsinteger
invoice_paymentsinteger
credit_note_linesinteger
invoice_vat_linesintegerrequired
lease_instalmentsinteger
received_invoicesinteger
proforma_vat_linesinteger
stock_lot_balancesinteger
stock_reservationsinteger
delivery_note_linesinteger
stock_number_seriesinteger
accounting_templatesintegerrequired
credit_note_paymentsinteger
employment_contractsinteger
stock_document_linesinteger
received_invoice_linesinteger
received_invoice_vat_linesinteger
received_invoice_settlementsinteger
contact_addressesinteger
webhook_endpointsinteger
warningsany[]required
errorstring | nullrequired
createdAtstringrequireddate-time
finishedAtnull | stringrequireddate-time
totalinteger
Rows that match, on all pages.
hasMorebooleanrequired
More rows follow. Ask again with offset + the number of rows received.
GET/v1/exports
curl https://api.damedoklad.cz/v1/exports \
  -H "Authorization: Bearer $DAMEDOKLAD_API_KEY"

Start a full export of this company: a ZIP of JSON, spreadsheets, document PDFs and attachments, built in the background

POST/v1/exports

Start a full export of this company: a ZIP of JSON, spreadsheets, document PDFs and attachments, built in the background

MCP tool: create-data-export

Response · 202

idstringrequired
statusstringrequired
byteSizeinteger | nullrequired
summarynull | objectrequired
pdfsintegerrequired
filesintegerrequired
tablesobjectrequired
bomsinteger
filesintegerrequired
itemsinteger
assetsinteger
leasesinteger
seriesintegerrequired
periodsintegerrequired
accountsintegerrequired
contactsintegerrequired
invoicesintegerrequired
vehiclesinteger
bom_linesinteger
employeesinteger
movementsinteger
proformasinteger
dimensionsinteger
stock_lotsinteger
stocktakesinteger
warehousesinteger
credentialsintegerrequired
audit_eventsintegerrequired
credit_notesinteger
data_exportsintegerrequired
stock_layersinteger
tax_profilesinteger
bank_accountsinteger
cash_countersinteger
invoice_linesintegerrequired
journal_linesintegerrequired
movement_lotsinteger
travel_ordersinteger
bank_movementsinteger
cash_documentsinteger
cash_registersinteger
contact_groupsinteger
delivery_notesinteger
import_batchesinteger
proforma_linesinteger
stock_balancesinteger
user_workspaceintegerrequired
vehicle_routesinteger
inbox_documentsintegerrequired
journal_entriesintegerrequired
movement_layersinteger
stock_documentsinteger
stocktake_linesinteger
bank_allocationsinteger
invoice_paymentsinteger
credit_note_linesinteger
invoice_vat_linesintegerrequired
lease_instalmentsinteger
received_invoicesinteger
proforma_vat_linesinteger
stock_lot_balancesinteger
stock_reservationsinteger
delivery_note_linesinteger
stock_number_seriesinteger
accounting_templatesintegerrequired
credit_note_paymentsinteger
employment_contractsinteger
stock_document_linesinteger
received_invoice_linesinteger
received_invoice_vat_linesinteger
received_invoice_settlementsinteger
contact_addressesinteger
webhook_endpointsinteger
warningsany[]required
errorstring | nullrequired
createdAtstringrequireddate-time
finishedAtnull | stringrequireddate-time
POST/v1/exports
curl -X POST https://api.damedoklad.cz/v1/exports \
  -H "Authorization: Bearer $DAMEDOKLAD_API_KEY"

Get the status of a workspace export

GET/v1/exports/{id}

Get the status of a workspace export

MCP tool: get-data-export

Path parameters

idstringrequired

Response · 200

idstringrequired
statusstringrequired
byteSizeinteger | nullrequired
summarynull | objectrequired
pdfsintegerrequired
filesintegerrequired
tablesobjectrequired
bomsinteger
filesintegerrequired
itemsinteger
assetsinteger
leasesinteger
seriesintegerrequired
periodsintegerrequired
accountsintegerrequired
contactsintegerrequired
invoicesintegerrequired
vehiclesinteger
bom_linesinteger
employeesinteger
movementsinteger
proformasinteger
dimensionsinteger
stock_lotsinteger
stocktakesinteger
warehousesinteger
credentialsintegerrequired
audit_eventsintegerrequired
credit_notesinteger
data_exportsintegerrequired
stock_layersinteger
tax_profilesinteger
bank_accountsinteger
cash_countersinteger
invoice_linesintegerrequired
journal_linesintegerrequired
movement_lotsinteger
travel_ordersinteger
bank_movementsinteger
cash_documentsinteger
cash_registersinteger
contact_groupsinteger
delivery_notesinteger
import_batchesinteger
proforma_linesinteger
stock_balancesinteger
user_workspaceintegerrequired
vehicle_routesinteger
inbox_documentsintegerrequired
journal_entriesintegerrequired
movement_layersinteger
stock_documentsinteger
stocktake_linesinteger
bank_allocationsinteger
invoice_paymentsinteger
credit_note_linesinteger
invoice_vat_linesintegerrequired
lease_instalmentsinteger
received_invoicesinteger
proforma_vat_linesinteger
stock_lot_balancesinteger
stock_reservationsinteger
delivery_note_linesinteger
stock_number_seriesinteger
accounting_templatesintegerrequired
credit_note_paymentsinteger
employment_contractsinteger
stock_document_linesinteger
received_invoice_linesinteger
received_invoice_vat_linesinteger
received_invoice_settlementsinteger
contact_addressesinteger
webhook_endpointsinteger
warningsany[]required
errorstring | nullrequired
createdAtstringrequireddate-time
finishedAtnull | stringrequireddate-time
GET/v1/exports/{id}
curl https://api.damedoklad.cz/v1/exports/obj_2n9F4kT7wQ1xYz0aBcDeFgHiJkL \
  -H "Authorization: Bearer $DAMEDOKLAD_API_KEY"

Download a finished workspace export as a ZIP

GET/v1/exports/{id}/download

Download a finished workspace export as a ZIP

MCP tool: download-data-export

Path parameters

idstringrequired

Response · 200

Returns a application/zip file.

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

List imports, newest first

GET/v1/imports

List imports, newest first

MCP tool: list-imports

Query parameters

limitintegermin 1max 500
offsetintegermin 0max 9007199254740991
searchstringmax 200 chars

Response · 200

dataobject[]required
object"import_batch"required
idstringrequired
sourcestringrequired
kindstringrequired
filenamenull | stringrequired
statusstringrequired
reportobjectrequired
formatstring
sectionsobjectrequired
contactsobject
bankobject
vouchersobject
ordersobject
offersobject
stock_documentsobject
stockobject
accountsobject
postingsobject
dimensionsobject
price_listsobject
journalobject
invoicesobject
opening_balancesobject
fixed_assetsobject
enquiriesobject
productionsobject
sale_vouchersobject
stock_transfersobject
internal_documentsobject
product_dataobject
moneyobject
incomeobject
expensesobject
payablesobject
receivablesobject
warningsstring[]
sourceIconull | string
applicationnull | string
unsupportedobject
claiminteger
balanceItemsinteger
balancedboolean
debitHalerinteger
creditHalerinteger
openingDatenull | stringdate
unknownColumnsstring[]
taxBaseSoFarHalerinteger
resultnull | objectrequired
linesinteger
journalinteger
itemsinteger
offersinteger
ordersinteger
pricesinteger
accountsinteger
archivedinteger
contactsinteger
invoicesinteger
postingsinteger
vouchersinteger
enquiriesinteger
movementsinteger
dimensionsinteger
priceListsinteger
warehousesinteger
productionsinteger
bankAccountsinteger
saleVouchersinteger
bankMovementsinteger
cashRegistersinteger
stockDocumentsinteger
stockTransfersinteger
contactsUpdatedinteger
fixedAssetsinteger
gpsrinteger
customFieldsinteger
recyclingFeesinteger
incomeinteger
expensesinteger
payablesinteger
registersinteger
receivablesinteger
errornull | stringrequired
createdAtstringrequireddate-time
appliedAtnull | stringrequireddate-time
undoneAtnull | stringrequireddate-time
undoobject
removedobjectrequired
contactinteger
dimensioninteger
invoiceinteger
iteminteger
warehouseinteger
assetinteger
stock_documentinteger
sales_documentinteger
imported_documentinteger
gpsr_recordinteger
recycling_feeinteger
custom_fieldinteger
received_invoiceinteger
cash_book_entryinteger
book_balance_openinginteger
reversedEntriesintegerrequired
keptAccountsintegerrequired
keptDimensionsintegerrequired
totalinteger
Rows that match, on all pages.
hasMorebooleanrequired
More rows follow. Ask again with offset + the number of rows received.
GET/v1/imports
curl https://api.damedoklad.cz/v1/imports \
  -H "Authorization: Bearer $DAMEDOKLAD_API_KEY"

Upload a POHODA XML, XLSX or CSV file and get a dry-run report of what importing it would do. Changes nothing yet.

POST/v1/imports

Upload a POHODA XML, XLSX or CSV file and get a dry-run report of what importing it would do. Changes nothing yet.. source=pohoda reads a dataPack or responsePack: adresář, faktury, zásoby, účetní deník, pokladna, banka, objednávky, nabídky, příjemky, výdejky, převodky, výroba, prodejky, poptávky, interní doklady, ceníky, účtová osnova, předkontace, střediska, činnosti, zakázky. With kind=opening_from_journal it turns a deník into opening balances at openingDate. source=tabular needs kind contacts, opening_balances or fixed_assets.

MCP tool: create-import

Request body

source"pohoda" | "tabular"required
kind"contacts" | "opening_balances" | "fixed_assets" | "opening_from_journal"
filenamestringrequiredmax 200 chars
fileBase64stringrequiredmax 62914560 chars
File content encoded as base64.
openingDatestringYYYY-MM-DD
Date as YYYY-MM-DD.

Response · 201

idstringrequired
sourcestringrequired
kindstringrequired
filenamenull | stringrequired
statusstringrequired
reportobjectrequired
formatstring
sectionsobjectrequired
contactsobject
skipintegerrequired
labelnull | stringrequired
totalintegerrequired
createintegerrequired
errorsany[]required
updateintegerrequired
samplesobject[]required
warningsstring[]required
bankobject
skipintegerrequired
labelnull | stringrequired
totalintegerrequired
createintegerrequired
errorsany[]required
updateintegerrequired
samplesobject[]required
warningsany[]required
vouchersobject
skipintegerrequired
labelnull | stringrequired
totalintegerrequired
createintegerrequired
errorsany[]required
updateintegerrequired
samplesobject[]required
warningsany[]required
ordersobject
skipintegerrequired
labelnull | stringrequired
totalintegerrequired
createintegerrequired
errorsany[]required
updateintegerrequired
samplesobject[]required
warningsany[]required
offersobject
skipintegerrequired
labelnull | stringrequired
totalintegerrequired
createintegerrequired
errorsany[]required
updateintegerrequired
samplesobject[]required
warningsany[]required
stock_documentsobject
skipintegerrequired
labelnull | stringrequired
totalintegerrequired
createintegerrequired
errorsany[]required
updateintegerrequired
samplesobject[]required
warningsstring[]required
stockobject
skipintegerrequired
labelnull | stringrequired
totalintegerrequired
createintegerrequired
errorsany[]required
updateintegerrequired
samplesobject[]required
warningsstring[]required
accountsobject
skipintegerrequired
labelnull | stringrequired
totalintegerrequired
createintegerrequired
errorsany[]required
updateintegerrequired
samplesobject[]required
warningsany[]required
postingsobject
skipintegerrequired
labelnull | stringrequired
totalintegerrequired
createintegerrequired
errorsany[]required
updateintegerrequired
samplesobject[]required
warningsstring[]required
dimensionsobject
skipintegerrequired
labelnull | stringrequired
totalintegerrequired
createintegerrequired
errorsany[]required
updateintegerrequired
samplesobject[]required
warningsany[]required
price_listsobject
skipintegerrequired
labelnull | stringrequired
totalintegerrequired
createintegerrequired
errorsany[]required
updateintegerrequired
samplesobject[]required
warningsstring[]required
journalobject
skipintegerrequired
labelnull | stringrequired
totalintegerrequired
createintegerrequired
errorsstring[]required
updateintegerrequired
samplesobject[]required
warningsany[]required
invoicesobject
skipintegerrequired
labelnull | stringrequired
totalintegerrequired
createintegerrequired
errorsstring[]required
updateintegerrequired
samplesobject[]required
warningsstring[]required
opening_balancesobject
skipintegerrequired
labelnull | stringrequired
totalintegerrequired
createintegerrequired
errorsstring[]required
updateintegerrequired
samplesobject[]required
warningsstring[]required
fixed_assetsobject
skipintegerrequired
labelnull | stringrequired
totalintegerrequired
createintegerrequired
errorsstring[]required
updateintegerrequired
samplesobject[]required
warningsstring[]required
enquiriesobject
skipintegerrequired
labelnull | stringrequired
totalintegerrequired
createintegerrequired
errorsany[]required
updateintegerrequired
samplesobject[]required
warningsstring[]required
productionsobject
skipintegerrequired
labelnull | stringrequired
totalintegerrequired
createintegerrequired
errorsany[]required
updateintegerrequired
samplesobject[]required
warningsstring[]required
sale_vouchersobject
skipintegerrequired
labelnull | stringrequired
totalintegerrequired
createintegerrequired
errorsany[]required
updateintegerrequired
samplesobject[]required
warningsstring[]required
stock_transfersobject
skipintegerrequired
labelnull | stringrequired
totalintegerrequired
createintegerrequired
errorsany[]required
updateintegerrequired
samplesobject[]required
warningsstring[]required
internal_documentsobject
skipintegerrequired
labelnull | stringrequired
totalintegerrequired
createintegerrequired
errorsany[]required
updateintegerrequired
samplesobject[]required
warningsstring[]required
product_dataobject
skipintegerrequired
labelnull | stringrequired
totalintegerrequired
createintegerrequired
errorsstring[]required
updateintegerrequired
samplesobject[]required
warningsstring[]required
moneyobject
skipintegerrequired
labelnull | stringrequired
totalintegerrequired
createintegerrequired
errorsstring[]required
updateintegerrequired
samplesany[]required
warningsany[]required
incomeobject
skipintegerrequired
labelnull | stringrequired
totalintegerrequired
createintegerrequired
errorsstring[]required
updateintegerrequired
samplesobject[]required
warningsstring[]required
expensesobject
skipintegerrequired
labelnull | stringrequired
totalintegerrequired
createintegerrequired
errorsany[]required
updateintegerrequired
samplesobject[]required
warningsany[]required
payablesobject
skipintegerrequired
labelnull | stringrequired
totalintegerrequired
createintegerrequired
errorsstring[]required
updateintegerrequired
samplesobject[]required
warningsany[]required
receivablesobject
skipintegerrequired
labelnull | stringrequired
totalintegerrequired
createintegerrequired
errorsstring[]required
updateintegerrequired
samplesobject[]required
warningsany[]required
warningsstring[]
sourceIconull | string
applicationnull | string
unsupportedobject
claiminteger
balanceItemsinteger
balancedboolean
debitHalerinteger
creditHalerinteger
openingDatenull | stringdate
unknownColumnsstring[]
taxBaseSoFarHalerinteger
resultnull | objectrequired
linesinteger
journalinteger
itemsinteger
offersinteger
ordersinteger
pricesinteger
accountsinteger
archivedinteger
contactsinteger
invoicesinteger
postingsinteger
vouchersinteger
enquiriesinteger
movementsinteger
dimensionsinteger
priceListsinteger
warehousesinteger
productionsinteger
bankAccountsinteger
saleVouchersinteger
bankMovementsinteger
cashRegistersinteger
stockDocumentsinteger
stockTransfersinteger
contactsUpdatedinteger
fixedAssetsinteger
gpsrinteger
customFieldsinteger
recyclingFeesinteger
incomeinteger
expensesinteger
payablesinteger
registersinteger
receivablesinteger
errornull | stringrequired
createdAtstringrequireddate-time
appliedAtnull | stringrequireddate-time
undoneAtnull | stringrequireddate-time
undoobject
removedobjectrequired
contactinteger
dimensioninteger
invoiceinteger
iteminteger
warehouseinteger
assetinteger
stock_documentinteger
sales_documentinteger
imported_documentinteger
gpsr_recordinteger
recycling_feeinteger
custom_fieldinteger
received_invoiceinteger
cash_book_entryinteger
book_balance_openinginteger
reversedEntriesintegerrequired
keptAccountsintegerrequired
keptDimensionsintegerrequired
POST/v1/imports
curl -X POST https://api.damedoklad.cz/v1/imports \
  -H "Authorization: Bearer $DAMEDOKLAD_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
  "source": "pohoda",
  "filename": "Pekárna U Lípy s.r.o.",
  "fileBase64": "string"
}'

Get an import with its dry-run report and result

GET/v1/imports/{id}

Get an import with its dry-run report and result

MCP tool: get-import

Path parameters

idstringrequired

Response · 200

idstringrequired
sourcestringrequired
kindstringrequired
filenamenull | stringrequired
statusstringrequired
reportobjectrequired
formatstring
sectionsobjectrequired
contactsobject
skipintegerrequired
labelnull | stringrequired
totalintegerrequired
createintegerrequired
errorsany[]required
updateintegerrequired
samplesobject[]required
warningsstring[]required
bankobject
skipintegerrequired
labelnull | stringrequired
totalintegerrequired
createintegerrequired
errorsany[]required
updateintegerrequired
samplesobject[]required
warningsany[]required
vouchersobject
skipintegerrequired
labelnull | stringrequired
totalintegerrequired
createintegerrequired
errorsany[]required
updateintegerrequired
samplesobject[]required
warningsany[]required
ordersobject
skipintegerrequired
labelnull | stringrequired
totalintegerrequired
createintegerrequired
errorsany[]required
updateintegerrequired
samplesobject[]required
warningsany[]required
offersobject
skipintegerrequired
labelnull | stringrequired
totalintegerrequired
createintegerrequired
errorsany[]required
updateintegerrequired
samplesobject[]required
warningsany[]required
stock_documentsobject
skipintegerrequired
labelnull | stringrequired
totalintegerrequired
createintegerrequired
errorsany[]required
updateintegerrequired
samplesobject[]required
warningsstring[]required
stockobject
skipintegerrequired
labelnull | stringrequired
totalintegerrequired
createintegerrequired
errorsany[]required
updateintegerrequired
samplesobject[]required
warningsstring[]required
accountsobject
skipintegerrequired
labelnull | stringrequired
totalintegerrequired
createintegerrequired
errorsany[]required
updateintegerrequired
samplesobject[]required
warningsany[]required
postingsobject
skipintegerrequired
labelnull | stringrequired
totalintegerrequired
createintegerrequired
errorsany[]required
updateintegerrequired
samplesobject[]required
warningsstring[]required
dimensionsobject
skipintegerrequired
labelnull | stringrequired
totalintegerrequired
createintegerrequired
errorsany[]required
updateintegerrequired
samplesobject[]required
warningsany[]required
price_listsobject
skipintegerrequired
labelnull | stringrequired
totalintegerrequired
createintegerrequired
errorsany[]required
updateintegerrequired
samplesobject[]required
warningsstring[]required
journalobject
skipintegerrequired
labelnull | stringrequired
totalintegerrequired
createintegerrequired
errorsstring[]required
updateintegerrequired
samplesobject[]required
warningsany[]required
invoicesobject
skipintegerrequired
labelnull | stringrequired
totalintegerrequired
createintegerrequired
errorsstring[]required
updateintegerrequired
samplesobject[]required
warningsstring[]required
opening_balancesobject
skipintegerrequired
labelnull | stringrequired
totalintegerrequired
createintegerrequired
errorsstring[]required
updateintegerrequired
samplesobject[]required
warningsstring[]required
fixed_assetsobject
skipintegerrequired
labelnull | stringrequired
totalintegerrequired
createintegerrequired
errorsstring[]required
updateintegerrequired
samplesobject[]required
warningsstring[]required
enquiriesobject
skipintegerrequired
labelnull | stringrequired
totalintegerrequired
createintegerrequired
errorsany[]required
updateintegerrequired
samplesobject[]required
warningsstring[]required
productionsobject
skipintegerrequired
labelnull | stringrequired
totalintegerrequired
createintegerrequired
errorsany[]required
updateintegerrequired
samplesobject[]required
warningsstring[]required
sale_vouchersobject
skipintegerrequired
labelnull | stringrequired
totalintegerrequired
createintegerrequired
errorsany[]required
updateintegerrequired
samplesobject[]required
warningsstring[]required
stock_transfersobject
skipintegerrequired
labelnull | stringrequired
totalintegerrequired
createintegerrequired
errorsany[]required
updateintegerrequired
samplesobject[]required
warningsstring[]required
internal_documentsobject
skipintegerrequired
labelnull | stringrequired
totalintegerrequired
createintegerrequired
errorsany[]required
updateintegerrequired
samplesobject[]required
warningsstring[]required
product_dataobject
skipintegerrequired
labelnull | stringrequired
totalintegerrequired
createintegerrequired
errorsstring[]required
updateintegerrequired
samplesobject[]required
warningsstring[]required
moneyobject
skipintegerrequired
labelnull | stringrequired
totalintegerrequired
createintegerrequired
errorsstring[]required
updateintegerrequired
samplesany[]required
warningsany[]required
incomeobject
skipintegerrequired
labelnull | stringrequired
totalintegerrequired
createintegerrequired
errorsstring[]required
updateintegerrequired
samplesobject[]required
warningsstring[]required
expensesobject
skipintegerrequired
labelnull | stringrequired
totalintegerrequired
createintegerrequired
errorsany[]required
updateintegerrequired
samplesobject[]required
warningsany[]required
payablesobject
skipintegerrequired
labelnull | stringrequired
totalintegerrequired
createintegerrequired
errorsstring[]required
updateintegerrequired
samplesobject[]required
warningsany[]required
receivablesobject
skipintegerrequired
labelnull | stringrequired
totalintegerrequired
createintegerrequired
errorsstring[]required
updateintegerrequired
samplesobject[]required
warningsany[]required
warningsstring[]
sourceIconull | string
applicationnull | string
unsupportedobject
claiminteger
balanceItemsinteger
balancedboolean
debitHalerinteger
creditHalerinteger
openingDatenull | stringdate
unknownColumnsstring[]
taxBaseSoFarHalerinteger
resultnull | objectrequired
linesinteger
journalinteger
itemsinteger
offersinteger
ordersinteger
pricesinteger
accountsinteger
archivedinteger
contactsinteger
invoicesinteger
postingsinteger
vouchersinteger
enquiriesinteger
movementsinteger
dimensionsinteger
priceListsinteger
warehousesinteger
productionsinteger
bankAccountsinteger
saleVouchersinteger
bankMovementsinteger
cashRegistersinteger
stockDocumentsinteger
stockTransfersinteger
contactsUpdatedinteger
fixedAssetsinteger
gpsrinteger
customFieldsinteger
recyclingFeesinteger
incomeinteger
expensesinteger
payablesinteger
registersinteger
receivablesinteger
errornull | stringrequired
createdAtstringrequireddate-time
appliedAtnull | stringrequireddate-time
undoneAtnull | stringrequireddate-time
undoobject
removedobjectrequired
contactinteger
dimensioninteger
invoiceinteger
iteminteger
warehouseinteger
assetinteger
stock_documentinteger
sales_documentinteger
imported_documentinteger
gpsr_recordinteger
recycling_feeinteger
custom_fieldinteger
received_invoiceinteger
cash_book_entryinteger
book_balance_openinginteger
reversedEntriesintegerrequired
keptAccountsintegerrequired
keptDimensionsintegerrequired
GET/v1/imports/{id}
curl https://api.damedoklad.cz/v1/imports/obj_2n9F4kT7wQ1xYz0aBcDeFgHiJkL \
  -H "Authorization: Bearer $DAMEDOKLAD_API_KEY"

Run an import after its dry run. All or nothing. Posting a journal or opening balances writes to the books.

POST/v1/imports/{id}/apply

Run an import after its dry run. All or nothing. Posting a journal or opening balances writes to the books.

MCP tool: apply-import

Path parameters

idstringrequired

Request body

sections"accounts" | "postings" | "dimensions" | "contacts" | "stock" | "price_lists" | "invoices" | "vouchers" | "bank" | "orders" | "offers" | "stock_documents" | "journal"[]
importStockQuantitiesbooleandefault true

Response · 202

idstringrequired
sourcestringrequired
kindstringrequired
filenamenull | stringrequired
statusstringrequired
reportobjectrequired
formatstring
sectionsobjectrequired
contactsobject
skipintegerrequired
labelnull | stringrequired
totalintegerrequired
createintegerrequired
errorsany[]required
updateintegerrequired
samplesobject[]required
warningsstring[]required
bankobject
skipintegerrequired
labelnull | stringrequired
totalintegerrequired
createintegerrequired
errorsany[]required
updateintegerrequired
samplesobject[]required
warningsany[]required
vouchersobject
skipintegerrequired
labelnull | stringrequired
totalintegerrequired
createintegerrequired
errorsany[]required
updateintegerrequired
samplesobject[]required
warningsany[]required
ordersobject
skipintegerrequired
labelnull | stringrequired
totalintegerrequired
createintegerrequired
errorsany[]required
updateintegerrequired
samplesobject[]required
warningsany[]required
offersobject
skipintegerrequired
labelnull | stringrequired
totalintegerrequired
createintegerrequired
errorsany[]required
updateintegerrequired
samplesobject[]required
warningsany[]required
stock_documentsobject
skipintegerrequired
labelnull | stringrequired
totalintegerrequired
createintegerrequired
errorsany[]required
updateintegerrequired
samplesobject[]required
warningsstring[]required
stockobject
skipintegerrequired
labelnull | stringrequired
totalintegerrequired
createintegerrequired
errorsany[]required
updateintegerrequired
samplesobject[]required
warningsstring[]required
accountsobject
skipintegerrequired
labelnull | stringrequired
totalintegerrequired
createintegerrequired
errorsany[]required
updateintegerrequired
samplesobject[]required
warningsany[]required
postingsobject
skipintegerrequired
labelnull | stringrequired
totalintegerrequired
createintegerrequired
errorsany[]required
updateintegerrequired
samplesobject[]required
warningsstring[]required
dimensionsobject
skipintegerrequired
labelnull | stringrequired
totalintegerrequired
createintegerrequired
errorsany[]required
updateintegerrequired
samplesobject[]required
warningsany[]required
price_listsobject
skipintegerrequired
labelnull | stringrequired
totalintegerrequired
createintegerrequired
errorsany[]required
updateintegerrequired
samplesobject[]required
warningsstring[]required
journalobject
skipintegerrequired
labelnull | stringrequired
totalintegerrequired
createintegerrequired
errorsstring[]required
updateintegerrequired
samplesobject[]required
warningsany[]required
invoicesobject
skipintegerrequired
labelnull | stringrequired
totalintegerrequired
createintegerrequired
errorsstring[]required
updateintegerrequired
samplesobject[]required
warningsstring[]required
opening_balancesobject
skipintegerrequired
labelnull | stringrequired
totalintegerrequired
createintegerrequired
errorsstring[]required
updateintegerrequired
samplesobject[]required
warningsstring[]required
fixed_assetsobject
skipintegerrequired
labelnull | stringrequired
totalintegerrequired
createintegerrequired
errorsstring[]required
updateintegerrequired
samplesobject[]required
warningsstring[]required
enquiriesobject
skipintegerrequired
labelnull | stringrequired
totalintegerrequired
createintegerrequired
errorsany[]required
updateintegerrequired
samplesobject[]required
warningsstring[]required
productionsobject
skipintegerrequired
labelnull | stringrequired
totalintegerrequired
createintegerrequired
errorsany[]required
updateintegerrequired
samplesobject[]required
warningsstring[]required
sale_vouchersobject
skipintegerrequired
labelnull | stringrequired
totalintegerrequired
createintegerrequired
errorsany[]required
updateintegerrequired
samplesobject[]required
warningsstring[]required
stock_transfersobject
skipintegerrequired
labelnull | stringrequired
totalintegerrequired
createintegerrequired
errorsany[]required
updateintegerrequired
samplesobject[]required
warningsstring[]required
internal_documentsobject
skipintegerrequired
labelnull | stringrequired
totalintegerrequired
createintegerrequired
errorsany[]required
updateintegerrequired
samplesobject[]required
warningsstring[]required
product_dataobject
skipintegerrequired
labelnull | stringrequired
totalintegerrequired
createintegerrequired
errorsstring[]required
updateintegerrequired
samplesobject[]required
warningsstring[]required
moneyobject
skipintegerrequired
labelnull | stringrequired
totalintegerrequired
createintegerrequired
errorsstring[]required
updateintegerrequired
samplesany[]required
warningsany[]required
incomeobject
skipintegerrequired
labelnull | stringrequired
totalintegerrequired
createintegerrequired
errorsstring[]required
updateintegerrequired
samplesobject[]required
warningsstring[]required
expensesobject
skipintegerrequired
labelnull | stringrequired
totalintegerrequired
createintegerrequired
errorsany[]required
updateintegerrequired
samplesobject[]required
warningsany[]required
payablesobject
skipintegerrequired
labelnull | stringrequired
totalintegerrequired
createintegerrequired
errorsstring[]required
updateintegerrequired
samplesobject[]required
warningsany[]required
receivablesobject
skipintegerrequired
labelnull | stringrequired
totalintegerrequired
createintegerrequired
errorsstring[]required
updateintegerrequired
samplesobject[]required
warningsany[]required
warningsstring[]
sourceIconull | string
applicationnull | string
unsupportedobject
claiminteger
balanceItemsinteger
balancedboolean
debitHalerinteger
creditHalerinteger
openingDatenull | stringdate
unknownColumnsstring[]
taxBaseSoFarHalerinteger
resultnull | objectrequired
linesinteger
journalinteger
itemsinteger
offersinteger
ordersinteger
pricesinteger
accountsinteger
archivedinteger
contactsinteger
invoicesinteger
postingsinteger
vouchersinteger
enquiriesinteger
movementsinteger
dimensionsinteger
priceListsinteger
warehousesinteger
productionsinteger
bankAccountsinteger
saleVouchersinteger
bankMovementsinteger
cashRegistersinteger
stockDocumentsinteger
stockTransfersinteger
contactsUpdatedinteger
fixedAssetsinteger
gpsrinteger
customFieldsinteger
recyclingFeesinteger
incomeinteger
expensesinteger
payablesinteger
registersinteger
receivablesinteger
errornull | stringrequired
createdAtstringrequireddate-time
appliedAtnull | stringrequireddate-time
undoneAtnull | stringrequireddate-time
undoobject
removedobjectrequired
contactinteger
dimensioninteger
invoiceinteger
iteminteger
warehouseinteger
assetinteger
stock_documentinteger
sales_documentinteger
imported_documentinteger
gpsr_recordinteger
recycling_feeinteger
custom_fieldinteger
received_invoiceinteger
cash_book_entryinteger
book_balance_openinginteger
reversedEntriesintegerrequired
keptAccountsintegerrequired
keptDimensionsintegerrequired
POST/v1/imports/{id}/apply
curl -X POST https://api.damedoklad.cz/v1/imports/obj_2n9F4kT7wQ1xYz0aBcDeFgHiJkL/apply \
  -H "Authorization: Bearer $DAMEDOKLAD_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
  "sections": [
    "accounts"
  ],
  "importStockQuantities": true
}'

Compare what a POHODA file says with what is in the books now, section by section: counts, totals, missing documents and differences

GET/v1/imports/{id}/reconciliation

Compare what a POHODA file says with what is in the books now, section by section: counts, totals, missing documents and differences

MCP tool: get-import-reconciliation

Path parameters

idstringrequired

Response · 200

idstringrequired
statusstringrequired
balancedbooleanrequired
sectionsobject[]required
keystringrequired
labelnull | stringrequired
pohodaCountintegerrequired
oursCountintegerrequired
totalsobject[]required
currencynull | stringrequired
pohodaHalerintegerrequired
oursHalerintegerrequired
differenceHalerintegerrequired
missingobject[]required
numbernull | stringrequired
currencynull | string
pohodaHalerinteger
differentobject[]required
numbernull | stringrequired
currencynull | stringrequired
pohodaHalerintegerrequired
oursHalerintegerrequired
differenceHalerintegerrequired
skippedintegerrequired
balancedbooleanrequired
accountsobject[]required
accountNumbernull | stringrequired
pohodaDebitHalerintegerrequired
pohodaCreditHalerintegerrequired
oursDebitHalerintegerrequired
oursCreditHalerintegerrequired
differenceHalerintegerrequired
GET/v1/imports/{id}/reconciliation
curl https://api.damedoklad.cz/v1/imports/obj_2n9F4kT7wQ1xYz0aBcDeFgHiJkL/reconciliation \
  -H "Authorization: Bearer $DAMEDOKLAD_API_KEY"

Say whether an applied import can still be undone, and what stands in the way

GET/v1/imports/{id}/undo

Say whether an applied import can still be undone, and what stands in the way

MCP tool: get-import-undo-check

Path parameters

idstringrequired

Response · 200

idstringrequired
possiblebooleanrequired
reasonnull | stringrequired
blockersobject[]required
objectTypenull | stringrequired
objectIdnull | stringrequired
reasonnull | stringrequired
countsobjectrequired
contactinteger
dimensioninteger
invoiceinteger
iteminteger
warehouseinteger
received_invoiceinteger
blockerCountinteger
GET/v1/imports/{id}/undo
curl https://api.damedoklad.cz/v1/imports/obj_2n9F4kT7wQ1xYz0aBcDeFgHiJkL/undo \
  -H "Authorization: Bearer $DAMEDOKLAD_API_KEY"

Undo a whole import while nothing has been built on it. Removes what it created and reverses what it posted. All or nothing.

POST/v1/imports/{id}/undo

Undo a whole import while nothing has been built on it. Removes what it created and reverses what it posted. All or nothing.

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

MCP tool: undo-import

Path parameters

idstringrequired

Response · 200

idstringrequired
sourcestringrequired
kindstringrequired
filenamenull | stringrequired
statusstringrequired
reportobjectrequired
formatstring
sectionsobjectrequired
contactsobject
skipintegerrequired
labelnull | stringrequired
totalintegerrequired
createintegerrequired
errorsany[]required
updateintegerrequired
samplesobject[]required
warningsstring[]required
bankobject
skipintegerrequired
labelnull | stringrequired
totalintegerrequired
createintegerrequired
errorsany[]required
updateintegerrequired
samplesobject[]required
warningsany[]required
vouchersobject
skipintegerrequired
labelnull | stringrequired
totalintegerrequired
createintegerrequired
errorsany[]required
updateintegerrequired
samplesobject[]required
warningsany[]required
ordersobject
skipintegerrequired
labelnull | stringrequired
totalintegerrequired
createintegerrequired
errorsany[]required
updateintegerrequired
samplesobject[]required
warningsany[]required
offersobject
skipintegerrequired
labelnull | stringrequired
totalintegerrequired
createintegerrequired
errorsany[]required
updateintegerrequired
samplesobject[]required
warningsany[]required
stock_documentsobject
skipintegerrequired
labelnull | stringrequired
totalintegerrequired
createintegerrequired
errorsany[]required
updateintegerrequired
samplesobject[]required
warningsstring[]required
stockobject
skipintegerrequired
labelnull | stringrequired
totalintegerrequired
createintegerrequired
errorsany[]required
updateintegerrequired
samplesobject[]required
warningsstring[]required
accountsobject
skipintegerrequired
labelnull | stringrequired
totalintegerrequired
createintegerrequired
errorsany[]required
updateintegerrequired
samplesobject[]required
warningsany[]required
postingsobject
skipintegerrequired
labelnull | stringrequired
totalintegerrequired
createintegerrequired
errorsany[]required
updateintegerrequired
samplesobject[]required
warningsstring[]required
dimensionsobject
skipintegerrequired
labelnull | stringrequired
totalintegerrequired
createintegerrequired
errorsany[]required
updateintegerrequired
samplesobject[]required
warningsany[]required
price_listsobject
skipintegerrequired
labelnull | stringrequired
totalintegerrequired
createintegerrequired
errorsany[]required
updateintegerrequired
samplesobject[]required
warningsstring[]required
journalobject
skipintegerrequired
labelnull | stringrequired
totalintegerrequired
createintegerrequired
errorsstring[]required
updateintegerrequired
samplesobject[]required
warningsany[]required
invoicesobject
skipintegerrequired
labelnull | stringrequired
totalintegerrequired
createintegerrequired
errorsstring[]required
updateintegerrequired
samplesobject[]required
warningsstring[]required
opening_balancesobject
skipintegerrequired
labelnull | stringrequired
totalintegerrequired
createintegerrequired
errorsstring[]required
updateintegerrequired
samplesobject[]required
warningsstring[]required
fixed_assetsobject
skipintegerrequired
labelnull | stringrequired
totalintegerrequired
createintegerrequired
errorsstring[]required
updateintegerrequired
samplesobject[]required
warningsstring[]required
enquiriesobject
skipintegerrequired
labelnull | stringrequired
totalintegerrequired
createintegerrequired
errorsany[]required
updateintegerrequired
samplesobject[]required
warningsstring[]required
productionsobject
skipintegerrequired
labelnull | stringrequired
totalintegerrequired
createintegerrequired
errorsany[]required
updateintegerrequired
samplesobject[]required
warningsstring[]required
sale_vouchersobject
skipintegerrequired
labelnull | stringrequired
totalintegerrequired
createintegerrequired
errorsany[]required
updateintegerrequired
samplesobject[]required
warningsstring[]required
stock_transfersobject
skipintegerrequired
labelnull | stringrequired
totalintegerrequired
createintegerrequired
errorsany[]required
updateintegerrequired
samplesobject[]required
warningsstring[]required
internal_documentsobject
skipintegerrequired
labelnull | stringrequired
totalintegerrequired
createintegerrequired
errorsany[]required
updateintegerrequired
samplesobject[]required
warningsstring[]required
product_dataobject
skipintegerrequired
labelnull | stringrequired
totalintegerrequired
createintegerrequired
errorsstring[]required
updateintegerrequired
samplesobject[]required
warningsstring[]required
moneyobject
skipintegerrequired
labelnull | stringrequired
totalintegerrequired
createintegerrequired
errorsstring[]required
updateintegerrequired
samplesany[]required
warningsany[]required
incomeobject
skipintegerrequired
labelnull | stringrequired
totalintegerrequired
createintegerrequired
errorsstring[]required
updateintegerrequired
samplesobject[]required
warningsstring[]required
expensesobject
skipintegerrequired
labelnull | stringrequired
totalintegerrequired
createintegerrequired
errorsany[]required
updateintegerrequired
samplesobject[]required
warningsany[]required
payablesobject
skipintegerrequired
labelnull | stringrequired
totalintegerrequired
createintegerrequired
errorsstring[]required
updateintegerrequired
samplesobject[]required
warningsany[]required
receivablesobject
skipintegerrequired
labelnull | stringrequired
totalintegerrequired
createintegerrequired
errorsstring[]required
updateintegerrequired
samplesobject[]required
warningsany[]required
warningsstring[]
sourceIconull | string
applicationnull | string
unsupportedobject
claiminteger
balanceItemsinteger
balancedboolean
debitHalerinteger
creditHalerinteger
openingDatenull | stringdate
unknownColumnsstring[]
taxBaseSoFarHalerinteger
resultnull | objectrequired
linesinteger
journalinteger
itemsinteger
offersinteger
ordersinteger
pricesinteger
accountsinteger
archivedinteger
contactsinteger
invoicesinteger
postingsinteger
vouchersinteger
enquiriesinteger
movementsinteger
dimensionsinteger
priceListsinteger
warehousesinteger
productionsinteger
bankAccountsinteger
saleVouchersinteger
bankMovementsinteger
cashRegistersinteger
stockDocumentsinteger
stockTransfersinteger
contactsUpdatedinteger
fixedAssetsinteger
gpsrinteger
customFieldsinteger
recyclingFeesinteger
incomeinteger
expensesinteger
payablesinteger
registersinteger
receivablesinteger
errornull | stringrequired
createdAtstringrequireddate-time
appliedAtnull | stringrequireddate-time
undoneAtnull | stringrequireddate-time
undoobject
removedobjectrequired
contactinteger
dimensioninteger
invoiceinteger
iteminteger
warehouseinteger
assetinteger
stock_documentinteger
sales_documentinteger
imported_documentinteger
gpsr_recordinteger
recycling_feeinteger
custom_fieldinteger
received_invoiceinteger
cash_book_entryinteger
book_balance_openinginteger
reversedEntriesintegerrequired
keptAccountsintegerrequired
keptDimensionsintegerrequired
POST/v1/imports/{id}/undo
curl -X POST https://api.damedoklad.cz/v1/imports/obj_2n9F4kT7wQ1xYz0aBcDeFgHiJkL/undo \
  -H "Authorization: Bearer $DAMEDOKLAD_API_KEY"

POHODA documents kept as history without an agenda of their own: interní doklady and received enquiries

GET/v1/imports/documents

POHODA documents kept as history without an agenda of their own: interní doklady and received enquiries

MCP tool: list-imported-documents

Query parameters

kind"internal_document" | "received_enquiry"
limitintegermin 1max 500
offsetintegermin 0max 9007199254740991
searchstringmax 200 chars

Response · 200

dataobject[]required
object"imported_document"required
idstringrequired
kindstringrequired
numberstringrequired
datestringrequireddate
descriptionnull | stringrequired
contactNamenull | stringrequired
currencystringrequired
netHalerintegerrequired
vatHalerintegerrequired
totalHalerintegerrequired
linesobject[]required
unitnull | stringrequired
vatRateintegerrequired
netHalerintegerrequired
vatHalerintegerrequired
descriptionnull | stringrequired
quantityMilliinteger | nullrequired
totalinteger
Rows that match, on all pages.
hasMorebooleanrequired
More rows follow. Ask again with offset + the number of rows received.
GET/v1/imports/documents
curl https://api.damedoklad.cz/v1/imports/documents \
  -H "Authorization: Bearer $DAMEDOKLAD_API_KEY"

Mid-year transition for tax records and single entry: balances of accounts and registers, open receivables and payables, income and expenses so far. Returns a dry-run report. Changes nothing until the import is applied

POST/v1/imports/mid-year

Mid-year transition for tax records and single entry: balances of accounts and registers, open receivables and payables, income and expenses so far. Returns a dry-run report. Changes nothing until the import is applied

MCP tool: create-mid-year-transition

Request body

openingDatestringrequiredYYYY-MM-DD
Date as YYYY-MM-DD.
bankAccountsobject[]
idstringrequired
balanceHalerintegerrequiredmin -9007199254740991max 9007199254740991
Integer amount in haléře: 100 = 1 Kč.
cashRegistersobject[]
idstringrequired
balanceHalerintegerrequiredmin 0max 9007199254740991
Integer amount in haléře: 100 = 1 Kč.
receivablesobject[]
numberstringrequiredmax 60 chars
contactNamestringrequiredmax 200 chars
icostring
Czech company number (IČO), 8 digits.
issueDatestringrequiredYYYY-MM-DD
Date as YYYY-MM-DD.
dueDatestringYYYY-MM-DD
Date as YYYY-MM-DD.
amountHalerintegerrequiredmin 1max 9007199254740991
Integer amount in haléře: 100 = 1 Kč.
vatHalerintegermin 0max 9007199254740991
Integer amount in haléře: 100 = 1 Kč.
payablesobject[]
numberstringrequiredmax 60 chars
contactNamestringrequiredmax 200 chars
icostring
Czech company number (IČO), 8 digits.
issueDatestringrequiredYYYY-MM-DD
Date as YYYY-MM-DD.
dueDatestringYYYY-MM-DD
Date as YYYY-MM-DD.
amountHalerintegerrequiredmin 1max 9007199254740991
Integer amount in haléře: 100 = 1 Kč.
vatHalerintegermin 0max 9007199254740991
Integer amount in haléře: 100 = 1 Kč.
incomeobject[]
descriptionstringrequiredmax 200 chars
amountHalerintegerrequiredmin 1max 9007199254740991
Integer amount in haléře: 100 = 1 Kč.
vatHalerintegermin 0max 9007199254740991
Integer amount in haléře: 100 = 1 Kč.
classification"income_taxable" | "income_exempt" | "expense_deductible" | "expense_nondeductible"
categorystringmax 60 chars
activityKind"main" | "economic"
moneyAccount"bank" | "cash"
expensesobject[]
descriptionstringrequiredmax 200 chars
amountHalerintegerrequiredmin 1max 9007199254740991
Integer amount in haléře: 100 = 1 Kč.
vatHalerintegermin 0max 9007199254740991
Integer amount in haléře: 100 = 1 Kč.
classification"income_taxable" | "income_exempt" | "expense_deductible" | "expense_nondeductible"
categorystringmax 60 chars
activityKind"main" | "economic"
moneyAccount"bank" | "cash"

Response · 201

idstringrequired
sourcestringrequired
kindstringrequired
filenamenull | stringrequired
statusstringrequired
reportobjectrequired
formatstring
sectionsobjectrequired
contactsobject
skipintegerrequired
labelnull | stringrequired
totalintegerrequired
createintegerrequired
errorsany[]required
updateintegerrequired
samplesobject[]required
warningsstring[]required
bankobject
skipintegerrequired
labelnull | stringrequired
totalintegerrequired
createintegerrequired
errorsany[]required
updateintegerrequired
samplesobject[]required
warningsany[]required
vouchersobject
skipintegerrequired
labelnull | stringrequired
totalintegerrequired
createintegerrequired
errorsany[]required
updateintegerrequired
samplesobject[]required
warningsany[]required
ordersobject
skipintegerrequired
labelnull | stringrequired
totalintegerrequired
createintegerrequired
errorsany[]required
updateintegerrequired
samplesobject[]required
warningsany[]required
offersobject
skipintegerrequired
labelnull | stringrequired
totalintegerrequired
createintegerrequired
errorsany[]required
updateintegerrequired
samplesobject[]required
warningsany[]required
stock_documentsobject
skipintegerrequired
labelnull | stringrequired
totalintegerrequired
createintegerrequired
errorsany[]required
updateintegerrequired
samplesobject[]required
warningsstring[]required
stockobject
skipintegerrequired
labelnull | stringrequired
totalintegerrequired
createintegerrequired
errorsany[]required
updateintegerrequired
samplesobject[]required
warningsstring[]required
accountsobject
skipintegerrequired
labelnull | stringrequired
totalintegerrequired
createintegerrequired
errorsany[]required
updateintegerrequired
samplesobject[]required
warningsany[]required
postingsobject
skipintegerrequired
labelnull | stringrequired
totalintegerrequired
createintegerrequired
errorsany[]required
updateintegerrequired
samplesobject[]required
warningsstring[]required
dimensionsobject
skipintegerrequired
labelnull | stringrequired
totalintegerrequired
createintegerrequired
errorsany[]required
updateintegerrequired
samplesobject[]required
warningsany[]required
price_listsobject
skipintegerrequired
labelnull | stringrequired
totalintegerrequired
createintegerrequired
errorsany[]required
updateintegerrequired
samplesobject[]required
warningsstring[]required
journalobject
skipintegerrequired
labelnull | stringrequired
totalintegerrequired
createintegerrequired
errorsstring[]required
updateintegerrequired
samplesobject[]required
warningsany[]required
invoicesobject
skipintegerrequired
labelnull | stringrequired
totalintegerrequired
createintegerrequired
errorsstring[]required
updateintegerrequired
samplesobject[]required
warningsstring[]required
opening_balancesobject
skipintegerrequired
labelnull | stringrequired
totalintegerrequired
createintegerrequired
errorsstring[]required
updateintegerrequired
samplesobject[]required
warningsstring[]required
fixed_assetsobject
skipintegerrequired
labelnull | stringrequired
totalintegerrequired
createintegerrequired
errorsstring[]required
updateintegerrequired
samplesobject[]required
warningsstring[]required
enquiriesobject
skipintegerrequired
labelnull | stringrequired
totalintegerrequired
createintegerrequired
errorsany[]required
updateintegerrequired
samplesobject[]required
warningsstring[]required
productionsobject
skipintegerrequired
labelnull | stringrequired
totalintegerrequired
createintegerrequired
errorsany[]required
updateintegerrequired
samplesobject[]required
warningsstring[]required
sale_vouchersobject
skipintegerrequired
labelnull | stringrequired
totalintegerrequired
createintegerrequired
errorsany[]required
updateintegerrequired
samplesobject[]required
warningsstring[]required
stock_transfersobject
skipintegerrequired
labelnull | stringrequired
totalintegerrequired
createintegerrequired
errorsany[]required
updateintegerrequired
samplesobject[]required
warningsstring[]required
internal_documentsobject
skipintegerrequired
labelnull | stringrequired
totalintegerrequired
createintegerrequired
errorsany[]required
updateintegerrequired
samplesobject[]required
warningsstring[]required
product_dataobject
skipintegerrequired
labelnull | stringrequired
totalintegerrequired
createintegerrequired
errorsstring[]required
updateintegerrequired
samplesobject[]required
warningsstring[]required
moneyobject
skipintegerrequired
labelnull | stringrequired
totalintegerrequired
createintegerrequired
errorsstring[]required
updateintegerrequired
samplesany[]required
warningsany[]required
incomeobject
skipintegerrequired
labelnull | stringrequired
totalintegerrequired
createintegerrequired
errorsstring[]required
updateintegerrequired
samplesobject[]required
warningsstring[]required
expensesobject
skipintegerrequired
labelnull | stringrequired
totalintegerrequired
createintegerrequired
errorsany[]required
updateintegerrequired
samplesobject[]required
warningsany[]required
payablesobject
skipintegerrequired
labelnull | stringrequired
totalintegerrequired
createintegerrequired
errorsstring[]required
updateintegerrequired
samplesobject[]required
warningsany[]required
receivablesobject
skipintegerrequired
labelnull | stringrequired
totalintegerrequired
createintegerrequired
errorsstring[]required
updateintegerrequired
samplesobject[]required
warningsany[]required
warningsstring[]
sourceIconull | string
applicationnull | string
unsupportedobject
claiminteger
balanceItemsinteger
balancedboolean
debitHalerinteger
creditHalerinteger
openingDatenull | stringdate
unknownColumnsstring[]
taxBaseSoFarHalerinteger
resultnull | objectrequired
linesinteger
journalinteger
itemsinteger
offersinteger
ordersinteger
pricesinteger
accountsinteger
archivedinteger
contactsinteger
invoicesinteger
postingsinteger
vouchersinteger
enquiriesinteger
movementsinteger
dimensionsinteger
priceListsinteger
warehousesinteger
productionsinteger
bankAccountsinteger
saleVouchersinteger
bankMovementsinteger
cashRegistersinteger
stockDocumentsinteger
stockTransfersinteger
contactsUpdatedinteger
fixedAssetsinteger
gpsrinteger
customFieldsinteger
recyclingFeesinteger
incomeinteger
expensesinteger
payablesinteger
registersinteger
receivablesinteger
errornull | stringrequired
createdAtstringrequireddate-time
appliedAtnull | stringrequireddate-time
undoneAtnull | stringrequireddate-time
undoobject
removedobjectrequired
contactinteger
dimensioninteger
invoiceinteger
iteminteger
warehouseinteger
assetinteger
stock_documentinteger
sales_documentinteger
imported_documentinteger
gpsr_recordinteger
recycling_feeinteger
custom_fieldinteger
received_invoiceinteger
cash_book_entryinteger
book_balance_openinginteger
reversedEntriesintegerrequired
keptAccountsintegerrequired
keptDimensionsintegerrequired
POST/v1/imports/mid-year
curl -X POST https://api.damedoklad.cz/v1/imports/mid-year \
  -H "Authorization: Bearer $DAMEDOKLAD_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
  "openingDate": "2026-10-30"
}'

Type opening balances for a mid-year switch and get a dry-run report. Changes nothing until the import is applied.

POST/v1/imports/opening-balances

Type opening balances for a mid-year switch and get a dry-run report. Changes nothing until the import is applied.

MCP tool: create-typed-opening-balances

Request body

openingDatestringrequiredYYYY-MM-DD
Date as YYYY-MM-DD.
linesobject[]required
accountNumberstringrequired
Account number from the chart of accounts, for example 311. list-accounts lists them.
accountNamestringmax 200 chars
debitHalerintegermin 0max 9007199254740991default 0
Integer amount in haléře: 100 = 1 Kč.
creditHalerintegermin 0max 9007199254740991default 0
Integer amount in haléře: 100 = 1 Kč.

Response · 201

idstringrequired
sourcestringrequired
kindstringrequired
filenamenull | stringrequired
statusstringrequired
reportobjectrequired
formatstring
sectionsobjectrequired
contactsobject
skipintegerrequired
labelnull | stringrequired
totalintegerrequired
createintegerrequired
errorsany[]required
updateintegerrequired
samplesobject[]required
warningsstring[]required
bankobject
skipintegerrequired
labelnull | stringrequired
totalintegerrequired
createintegerrequired
errorsany[]required
updateintegerrequired
samplesobject[]required
warningsany[]required
vouchersobject
skipintegerrequired
labelnull | stringrequired
totalintegerrequired
createintegerrequired
errorsany[]required
updateintegerrequired
samplesobject[]required
warningsany[]required
ordersobject
skipintegerrequired
labelnull | stringrequired
totalintegerrequired
createintegerrequired
errorsany[]required
updateintegerrequired
samplesobject[]required
warningsany[]required
offersobject
skipintegerrequired
labelnull | stringrequired
totalintegerrequired
createintegerrequired
errorsany[]required
updateintegerrequired
samplesobject[]required
warningsany[]required
stock_documentsobject
skipintegerrequired
labelnull | stringrequired
totalintegerrequired
createintegerrequired
errorsany[]required
updateintegerrequired
samplesobject[]required
warningsstring[]required
stockobject
skipintegerrequired
labelnull | stringrequired
totalintegerrequired
createintegerrequired
errorsany[]required
updateintegerrequired
samplesobject[]required
warningsstring[]required
accountsobject
skipintegerrequired
labelnull | stringrequired
totalintegerrequired
createintegerrequired
errorsany[]required
updateintegerrequired
samplesobject[]required
warningsany[]required
postingsobject
skipintegerrequired
labelnull | stringrequired
totalintegerrequired
createintegerrequired
errorsany[]required
updateintegerrequired
samplesobject[]required
warningsstring[]required
dimensionsobject
skipintegerrequired
labelnull | stringrequired
totalintegerrequired
createintegerrequired
errorsany[]required
updateintegerrequired
samplesobject[]required
warningsany[]required
price_listsobject
skipintegerrequired
labelnull | stringrequired
totalintegerrequired
createintegerrequired
errorsany[]required
updateintegerrequired
samplesobject[]required
warningsstring[]required
journalobject
skipintegerrequired
labelnull | stringrequired
totalintegerrequired
createintegerrequired
errorsstring[]required
updateintegerrequired
samplesobject[]required
warningsany[]required
invoicesobject
skipintegerrequired
labelnull | stringrequired
totalintegerrequired
createintegerrequired
errorsstring[]required
updateintegerrequired
samplesobject[]required
warningsstring[]required
opening_balancesobject
skipintegerrequired
labelnull | stringrequired
totalintegerrequired
createintegerrequired
errorsstring[]required
updateintegerrequired
samplesobject[]required
warningsstring[]required
fixed_assetsobject
skipintegerrequired
labelnull | stringrequired
totalintegerrequired
createintegerrequired
errorsstring[]required
updateintegerrequired
samplesobject[]required
warningsstring[]required
enquiriesobject
skipintegerrequired
labelnull | stringrequired
totalintegerrequired
createintegerrequired
errorsany[]required
updateintegerrequired
samplesobject[]required
warningsstring[]required
productionsobject
skipintegerrequired
labelnull | stringrequired
totalintegerrequired
createintegerrequired
errorsany[]required
updateintegerrequired
samplesobject[]required
warningsstring[]required
sale_vouchersobject
skipintegerrequired
labelnull | stringrequired
totalintegerrequired
createintegerrequired
errorsany[]required
updateintegerrequired
samplesobject[]required
warningsstring[]required
stock_transfersobject
skipintegerrequired
labelnull | stringrequired
totalintegerrequired
createintegerrequired
errorsany[]required
updateintegerrequired
samplesobject[]required
warningsstring[]required
internal_documentsobject
skipintegerrequired
labelnull | stringrequired
totalintegerrequired
createintegerrequired
errorsany[]required
updateintegerrequired
samplesobject[]required
warningsstring[]required
product_dataobject
skipintegerrequired
labelnull | stringrequired
totalintegerrequired
createintegerrequired
errorsstring[]required
updateintegerrequired
samplesobject[]required
warningsstring[]required
moneyobject
skipintegerrequired
labelnull | stringrequired
totalintegerrequired
createintegerrequired
errorsstring[]required
updateintegerrequired
samplesany[]required
warningsany[]required
incomeobject
skipintegerrequired
labelnull | stringrequired
totalintegerrequired
createintegerrequired
errorsstring[]required
updateintegerrequired
samplesobject[]required
warningsstring[]required
expensesobject
skipintegerrequired
labelnull | stringrequired
totalintegerrequired
createintegerrequired
errorsany[]required
updateintegerrequired
samplesobject[]required
warningsany[]required
payablesobject
skipintegerrequired
labelnull | stringrequired
totalintegerrequired
createintegerrequired
errorsstring[]required
updateintegerrequired
samplesobject[]required
warningsany[]required
receivablesobject
skipintegerrequired
labelnull | stringrequired
totalintegerrequired
createintegerrequired
errorsstring[]required
updateintegerrequired
samplesobject[]required
warningsany[]required
warningsstring[]
sourceIconull | string
applicationnull | string
unsupportedobject
claiminteger
balanceItemsinteger
balancedboolean
debitHalerinteger
creditHalerinteger
openingDatenull | stringdate
unknownColumnsstring[]
taxBaseSoFarHalerinteger
resultnull | objectrequired
linesinteger
journalinteger
itemsinteger
offersinteger
ordersinteger
pricesinteger
accountsinteger
archivedinteger
contactsinteger
invoicesinteger
postingsinteger
vouchersinteger
enquiriesinteger
movementsinteger
dimensionsinteger
priceListsinteger
warehousesinteger
productionsinteger
bankAccountsinteger
saleVouchersinteger
bankMovementsinteger
cashRegistersinteger
stockDocumentsinteger
stockTransfersinteger
contactsUpdatedinteger
fixedAssetsinteger
gpsrinteger
customFieldsinteger
recyclingFeesinteger
incomeinteger
expensesinteger
payablesinteger
registersinteger
receivablesinteger
errornull | stringrequired
createdAtstringrequireddate-time
appliedAtnull | stringrequireddate-time
undoneAtnull | stringrequireddate-time
undoobject
removedobjectrequired
contactinteger
dimensioninteger
invoiceinteger
iteminteger
warehouseinteger
assetinteger
stock_documentinteger
sales_documentinteger
imported_documentinteger
gpsr_recordinteger
recycling_feeinteger
custom_fieldinteger
received_invoiceinteger
cash_book_entryinteger
book_balance_openinginteger
reversedEntriesintegerrequired
keptAccountsintegerrequired
keptDimensionsintegerrequired
POST/v1/imports/opening-balances
curl -X POST https://api.damedoklad.cz/v1/imports/opening-balances \
  -H "Authorization: Bearer $DAMEDOKLAD_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
  "openingDate": "2026-10-30",
  "lines": [
    {
      "accountNumber": "string"
    }
  ]
}'

Get the e-mail address that puts received attachments into this queue

GET/v1/inbox/address

Get the e-mail address that puts received attachments into this queue

MCP tool: get-inbox-address

Response · 200

addressnull | stringrequired
enabledbooleanrequired
aiEnabledboolean
GET/v1/inbox/address
curl https://api.damedoklad.cz/v1/inbox/address \
  -H "Authorization: Bearer $DAMEDOKLAD_API_KEY"

Replace the company address with a new one, for when the old one leaked. Mail to the old address stops being accepted.

POST/v1/inbox/address/rotate

Replace the company address with a new one, for when the old one leaked. Mail to the old address stops being accepted.

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

MCP tool: rotate-inbox-address

Response · 200

addressnull | stringrequired
enabledbooleanrequired
aiEnabledboolean
POST/v1/inbox/address/rotate
curl -X POST https://api.damedoklad.cz/v1/inbox/address/rotate \
  -H "Authorization: Bearer $DAMEDOKLAD_API_KEY"

List received documents in the queue. By default those not finished yet.

GET/v1/inbox/documents

List received documents in the queue. By default those not finished yet.

MCP tool: list-inbox-documents

Query parameters

limitintegermin 1max 500
offsetintegermin 0max 9007199254740991
status"new" | "done" | "discarded"

Response · 200

dataobject[]required
object"inbox_document"required
idstringrequired
filenamestringrequired
sourcestringrequired
sendernull | stringrequired
subjectnull | stringrequired
statusstringrequired
fileIdstringrequired
extractionSourcenull | stringrequired
extractionnull | objectrequired
ibanstring | null
dueDatenull | stringdate
bankCodenull | string
currencynull | string
netHalerinteger | nullrequired
vatHalerinteger | nullrequired
vatLinesobject[]required
vatRateintegerrequired
netHalerintegerrequired
vatHalerinteger | nullrequired
issueDatenull | stringrequireddate
totalHalerinteger | nullrequired
supplierDicnull | string
supplierIconull | string
documentTypeinteger | null
payableHalerinteger | null
supplierCityany
Null in every recorded response.
supplierNamenull | stringrequired
taxPointDatenull | stringdate
accountNumbernull | string
documentNumbernull | stringrequired
supplierStreetany
Null in every recorded response.
variableSymbolnull | string
supplierPostalCodeany
Null in every recorded response.
isInvoiceboolean
extractionErrornull | stringrequired
receivedInvoiceIdnull | stringrequired
supplierAdvanceIdnull | stringrequired
requestIdnull | stringrequired
hasCompanionbooleanrequired
createdAtstringrequireddate-time
totalinteger
Rows that match, on all pages.
hasMorebooleanrequired
More rows follow. Ask again with offset + the number of rows received.
GET/v1/inbox/documents
curl https://api.damedoklad.cz/v1/inbox/documents \
  -H "Authorization: Bearer $DAMEDOKLAD_API_KEY"

Add a received document (PDF, image, or ISDOC, base64, up to 25 MB) to the queue. Values are read from it automatically.

POST/v1/inbox/documents

Add a received document (PDF, image, or ISDOC, base64, up to 25 MB) to the queue. Values are read from it automatically.

MCP tool: upload-inbox-document

Request body

requestIdstringmax 64 chars
ID of the request.
filenamestringrequiredmax 200 chars
contentTypestringmax 100 chars
fileBase64stringrequiredmax 62914560 chars
File content encoded as base64.

Response · 201

idstringrequired
filenamestringrequired
sourcestringrequired
sendernull | stringrequired
subjectnull | stringrequired
statusstringrequired
fileIdstringrequired
extractionSourcenull | stringrequired
extractionnull | objectrequired
ibanstring | null
dueDatenull | stringdate
bankCodenull | string
currencynull | string
netHalerinteger | nullrequired
vatHalerinteger | nullrequired
vatLinesobject[]required
vatRateintegerrequired
netHalerintegerrequired
vatHalerinteger | nullrequired
issueDatenull | stringrequireddate
totalHalerinteger | nullrequired
supplierDicnull | string
supplierIconull | string
documentTypeinteger | null
payableHalerinteger | null
supplierCityany
Null in every recorded response.
supplierNamenull | stringrequired
taxPointDatenull | stringdate
accountNumbernull | string
documentNumbernull | stringrequired
supplierStreetany
Null in every recorded response.
variableSymbolnull | string
supplierPostalCodeany
Null in every recorded response.
isInvoiceboolean
extractionErrornull | stringrequired
receivedInvoiceIdnull | stringrequired
supplierAdvanceIdnull | stringrequired
requestIdnull | stringrequired
hasCompanionbooleanrequired
createdAtstringrequireddate-time
POST/v1/inbox/documents
curl -X POST https://api.damedoklad.cz/v1/inbox/documents \
  -H "Authorization: Bearer $DAMEDOKLAD_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
  "filename": "Pekárna U Lípy s.r.o.",
  "fileBase64": "string"
}'

Get a received document with the values read from it

GET/v1/inbox/documents/{id}

Get a received document with the values read from it

MCP tool: get-inbox-document

Path parameters

idstringrequired

Response · 200

idstringrequired
filenamestringrequired
sourcestringrequired
sendernull | stringrequired
subjectnull | stringrequired
statusstringrequired
fileIdstringrequired
extractionSourcenull | stringrequired
extractionnull | objectrequired
ibanstring | null
dueDatenull | stringdate
bankCodenull | string
currencynull | string
netHalerinteger | nullrequired
vatHalerinteger | nullrequired
vatLinesobject[]required
vatRateintegerrequired
netHalerintegerrequired
vatHalerinteger | nullrequired
issueDatenull | stringrequireddate
totalHalerinteger | nullrequired
supplierDicnull | string
supplierIconull | string
documentTypeinteger | null
payableHalerinteger | null
supplierCityany
Null in every recorded response.
supplierNamenull | stringrequired
taxPointDatenull | stringdate
accountNumbernull | string
documentNumbernull | stringrequired
supplierStreetany
Null in every recorded response.
variableSymbolnull | string
supplierPostalCodeany
Null in every recorded response.
isInvoiceboolean
extractionErrornull | stringrequired
receivedInvoiceIdnull | stringrequired
supplierAdvanceIdnull | stringrequired
requestIdnull | stringrequired
hasCompanionbooleanrequired
createdAtstringrequireddate-time
GET/v1/inbox/documents/{id}
curl https://api.damedoklad.cz/v1/inbox/documents/obj_2n9F4kT7wQ1xYz0aBcDeFgHiJkL \
  -H "Authorization: Bearer $DAMEDOKLAD_API_KEY"

Correct the values read from a received document before creating the invoice

PATCH/v1/inbox/documents/{id}

Correct the values read from a received document before creating the invoice

MCP tool: update-inbox-document

Path parameters

idstringrequired

Request body

supplierNamestring | null
supplierIcostring | null
Czech company number (IČO), 8 digits.
supplierDicstring | null
VAT number (DIČ), for example CZ12345678.
documentNumberstring | null
variableSymbolstring | null
issueDatestring | null
Date as YYYY-MM-DD.
taxPointDatestring | null
Date as YYYY-MM-DD.
dueDatestring | null
Date as YYYY-MM-DD.
currencystring | null
ISO 4217 currency code, for example CZK or EUR.
netHalerinteger | null
Integer amount in haléře: 100 = 1 Kč.
vatHalerinteger | null
Integer amount in haléře: 100 = 1 Kč.
totalHalerinteger | null
Integer amount in haléře: 100 = 1 Kč.
accountNumberstring | null
Account number from the chart of accounts, for example 311. list-accounts lists them.
bankCodestring | null
ibanstring | null
IBAN without spaces.

Response · 200

idstringrequired
filenamestringrequired
sourcestringrequired
sendernull | stringrequired
subjectnull | stringrequired
statusstringrequired
fileIdstringrequired
extractionSourcenull | stringrequired
extractionnull | objectrequired
ibanstring | null
dueDatenull | stringdate
bankCodenull | string
currencynull | string
netHalerinteger | nullrequired
vatHalerinteger | nullrequired
vatLinesobject[]required
vatRateintegerrequired
netHalerintegerrequired
vatHalerinteger | nullrequired
issueDatenull | stringrequireddate
totalHalerinteger | nullrequired
supplierDicnull | string
supplierIconull | string
documentTypeinteger | null
payableHalerinteger | null
supplierCityany
Null in every recorded response.
supplierNamenull | stringrequired
taxPointDatenull | stringdate
accountNumbernull | string
documentNumbernull | stringrequired
supplierStreetany
Null in every recorded response.
variableSymbolnull | string
supplierPostalCodeany
Null in every recorded response.
isInvoiceboolean
extractionErrornull | stringrequired
receivedInvoiceIdnull | stringrequired
supplierAdvanceIdnull | stringrequired
requestIdnull | stringrequired
hasCompanionbooleanrequired
createdAtstringrequireddate-time
PATCH/v1/inbox/documents/{id}
curl -X PATCH https://api.damedoklad.cz/v1/inbox/documents/obj_2n9F4kT7wQ1xYz0aBcDeFgHiJkL \
  -H "Authorization: Bearer $DAMEDOKLAD_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
  "supplierName": "Pekárna U Lípy s.r.o.",
  "supplierIco": "12345678",
  "supplierDic": "CZ12345678"
}'

Take a document out of the queue without creating anything. The file is kept.

POST/v1/inbox/documents/{id}/discard

Take a document out of the queue without creating anything. The file is kept.

MCP tool: discard-inbox-document

Path parameters

idstringrequired

Response · 200

idstringrequired
filenamestringrequired
sourcestringrequired
sendernull | stringrequired
subjectnull | stringrequired
statusstringrequired
fileIdstringrequired
extractionSourcenull | stringrequired
extractionnull | objectrequired
ibanstring | null
dueDatenull | stringdate
bankCodenull | string
currencynull | string
netHalerinteger | nullrequired
vatHalerinteger | nullrequired
vatLinesobject[]required
vatRateintegerrequired
netHalerintegerrequired
vatHalerinteger | nullrequired
issueDatenull | stringrequireddate
totalHalerinteger | nullrequired
supplierDicnull | string
supplierIconull | string
documentTypeinteger | null
payableHalerinteger | null
supplierCityany
Null in every recorded response.
supplierNamenull | stringrequired
taxPointDatenull | stringdate
accountNumbernull | string
documentNumbernull | stringrequired
supplierStreetany
Null in every recorded response.
variableSymbolnull | string
supplierPostalCodeany
Null in every recorded response.
isInvoiceboolean
extractionErrornull | stringrequired
receivedInvoiceIdnull | stringrequired
supplierAdvanceIdnull | stringrequired
requestIdnull | stringrequired
hasCompanionbooleanrequired
createdAtstringrequireddate-time
POST/v1/inbox/documents/{id}/discard
curl -X POST https://api.damedoklad.cz/v1/inbox/documents/obj_2n9F4kT7wQ1xYz0aBcDeFgHiJkL/discard \
  -H "Authorization: Bearer $DAMEDOKLAD_API_KEY"

Read the values from a received document again

POST/v1/inbox/documents/{id}/extract

Read the values from a received document again

MCP tool: extract-inbox-document

Path parameters

idstringrequired

Response · 200

idstringrequired
filenamestringrequired
sourcestringrequired
sendernull | stringrequired
subjectnull | stringrequired
statusstringrequired
fileIdstringrequired
extractionSourcenull | stringrequired
extractionnull | objectrequired
ibanstring | null
dueDatenull | stringdate
bankCodenull | string
currencynull | string
netHalerinteger | nullrequired
vatHalerinteger | nullrequired
vatLinesobject[]required
vatRateintegerrequired
netHalerintegerrequired
vatHalerinteger | nullrequired
issueDatenull | stringrequireddate
totalHalerinteger | nullrequired
supplierDicnull | string
supplierIconull | string
documentTypeinteger | null
payableHalerinteger | null
supplierCityany
Null in every recorded response.
supplierNamenull | stringrequired
taxPointDatenull | stringdate
accountNumbernull | string
documentNumbernull | stringrequired
supplierStreetany
Null in every recorded response.
variableSymbolnull | string
supplierPostalCodeany
Null in every recorded response.
isInvoiceboolean
extractionErrornull | stringrequired
receivedInvoiceIdnull | stringrequired
supplierAdvanceIdnull | stringrequired
requestIdnull | stringrequired
hasCompanionbooleanrequired
createdAtstringrequireddate-time
POST/v1/inbox/documents/{id}/extract
curl -X POST https://api.damedoklad.cz/v1/inbox/documents/obj_2n9F4kT7wQ1xYz0aBcDeFgHiJkL/extract \
  -H "Authorization: Bearer $DAMEDOKLAD_API_KEY"

Download the attachment of a received document

GET/v1/inbox/documents/{id}/file

Download the attachment of a received document

MCP tool: get-inbox-document-file

Path parameters

idstringrequired

Response · 200

Returns a application/octet-stream file.

GET/v1/inbox/documents/{id}/file
curl https://api.damedoklad.cz/v1/inbox/documents/obj_2n9F4kT7wQ1xYz0aBcDeFgHiJkL/file \
  -H "Authorization: Bearer $DAMEDOKLAD_API_KEY" \
  -o soubor

Create a received invoice from a document in the queue and attach the file. Posts to the books unless record is false.

POST/v1/inbox/documents/{id}/received-invoice

Create a received invoice from a document in the queue and attach the file. Posts to the books unless record is false.. Recording posts to the books. Confirm the supplier, number, dates and amounts with the user first.

MCP tool: create-received-invoice-from-inbox

Path parameters

idstringrequired

Request body

recordbooleandefault true
confirmDuplicateboolean

Response · 201

idstringrequired
receivedInvoiceIdnull | string
totalHalerinteger | nullrequired
differenceHalerintegerrequired
supplierAdvanceIdnull | string
POST/v1/inbox/documents/{id}/received-invoice
curl -X POST https://api.damedoklad.cz/v1/inbox/documents/obj_2n9F4kT7wQ1xYz0aBcDeFgHiJkL/received-invoice \
  -H "Authorization: Bearer $DAMEDOKLAD_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
  "record": true,
  "confirmDuplicate": false
}'

Create an advance to a supplier from a document in the queue, such as a supplier's zálohová faktura read from ISDOC, and attach the file. Posts nothing until it is paid.

POST/v1/inbox/documents/{id}/supplier-advance

Create an advance to a supplier from a document in the queue, such as a supplier's zálohová faktura read from ISDOC, and attach the file. Posts nothing until it is paid.. A zálohová faktura is not a tax document: no VAT is claimed from it. The amounts become the lines of the advance; its payment and the supplier's tax document follow on the advance.

MCP tool: create-supplier-advance-from-inbox

Path parameters

idstringrequired

Request body

recordbooleandefault true
confirmDuplicateboolean
advanceAccount"151" | "152" | "153" | "314" | "051" | "052"

Response · 201

idstringrequired
receivedInvoiceIdnull | string
totalHalerinteger | nullrequired
differenceHalerintegerrequired
supplierAdvanceIdnull | string
POST/v1/inbox/documents/{id}/supplier-advance
curl -X POST https://api.damedoklad.cz/v1/inbox/documents/obj_2n9F4kT7wQ1xYz0aBcDeFgHiJkL/supplier-advance \
  -H "Authorization: Bearer $DAMEDOKLAD_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
  "record": true,
  "confirmDuplicate": false,
  "advanceAccount": "151"
}'

See who may send documents to the company address

GET/v1/inbox/email-settings

See who may send documents to the company address

MCP tool: get-inbound-email-settings

Response · 200

modestringrequired
allowListstring[]required
GET/v1/inbox/email-settings
curl https://api.damedoklad.cz/v1/inbox/email-settings \
  -H "Authorization: Bearer $DAMEDOKLAD_API_KEY"

Set who may send documents to the company address: anyone, or only listed addresses and @domains. The company's own people are always allowed.

PUT/v1/inbox/email-settings

Set who may send documents to the company address: anyone, or only listed addresses and @domains. The company's own people are always allowed.

MCP tool: update-inbound-email-settings

Request body

mode"any" | "allow_list"required
allowListstring[]default []

Response · 200

modestringrequired
allowListstring[]required
PUT/v1/inbox/email-settings
curl -X PUT https://api.damedoklad.cz/v1/inbox/email-settings \
  -H "Authorization: Bearer $DAMEDOKLAD_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
  "mode": "any"
}'

List what arrived at the company address, including mail that was refused or held no documents

GET/v1/inbox/emails

List what arrived at the company address, including mail that was refused or held no documents

MCP tool: list-inbound-emails

Query parameters

limitintegermin 1max 500
offsetintegermin 0max 9007199254740991
searchstringmax 200 chars

Response · 200

dataobject[]required
object"inbound_email"required
idstringrequired
sendernull | stringrequired
subjectnull | stringrequired
statusstringrequired
receivedCountintegerrequired
duplicateCountintegerrequired
skippedobject[]required
reasonnull | stringrequired
filenamenull | stringrequired
documentIdsstring[]required
createdAtstringrequireddate-time
totalinteger
Rows that match, on all pages.
hasMorebooleanrequired
More rows follow. Ask again with offset + the number of rows received.
GET/v1/inbox/emails
curl https://api.damedoklad.cz/v1/inbox/emails \
  -H "Authorization: Bearer $DAMEDOKLAD_API_KEY"

Count what is waiting to be finished: received documents in the queue, drafts, unmatched bank movements, overdue invoices

GET/v1/inbox/summary

Count what is waiting to be finished: received documents in the queue, drafts, unmatched bank movements, overdue invoices

MCP tool: get-inbox-summary

Response · 200

documentsintegerrequired
draftsintegerrequired
movementsintegerrequired
overdueintegerrequired
totalintegerrequired
GET/v1/inbox/summary
curl https://api.damedoklad.cz/v1/inbox/summary \
  -H "Authorization: Bearer $DAMEDOKLAD_API_KEY"

One to-do list: documents to finish, drafts, overdue invoices, and upcoming tax deadlines, each with where to go next

GET/v1/inbox/todo

One to-do list: documents to finish, drafts, overdue invoices, and upcoming tax deadlines, each with where to go next

MCP tool: list-inbox-todo

Query parameters

limitintegermin 1max 500
offsetintegermin 0max 9007199254740991
searchstringmax 200 chars

Response · 200

dataobject[]required
kindstringrequired
idstringrequired
titlenull | stringrequired
subtitlestring
amountHalerinteger | null
currencynull | string
datenull | stringrequireddate
pathnull | stringrequired
subtitleEnstring
directionstring
deadlinestring
titleEnstring
selfAssessboolean
overdueboolean
approvalIdstring
totalinteger
Rows that match, on all pages.
hasMorebooleanrequired
More rows follow. Ask again with offset + the number of rows received.
GET/v1/inbox/todo
curl https://api.damedoklad.cz/v1/inbox/todo \
  -H "Authorization: Bearer $DAMEDOKLAD_API_KEY"

List invitations nobody has accepted yet

GET/v1/invitations

List invitations nobody has accepted yet

MCP tool: list-invitations

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/invitations
curl https://api.damedoklad.cz/v1/invitations \
  -H "Authorization: Bearer $DAMEDOKLAD_API_KEY"

Cancel an invitation so its link stops working

DELETE/v1/invitations/{id}

Cancel an invitation so its link stops working

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

MCP tool: revoke-invitation

Path parameters

idstringrequired

Response · 200

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

Send an invitation again with a new link and a fresh expiry

POST/v1/invitations/{id}/resend

Send an invitation again with a new link and a fresh expiry

MCP tool: resend-invitation

Path parameters

idstringrequired

Response · 200

idstringrequired
emailnull | stringrequired
rolestringrequired
accessRoleIdnull | string
expiresAtstringrequireddate-time
expiredbooleanrequired
createdAtstringrequireddate-time
tokenstring
POST/v1/invitations/{id}/resend
curl -X POST https://api.damedoklad.cz/v1/invitations/obj_2n9F4kT7wQ1xYz0aBcDeFgHiJkL/resend \
  -H "Authorization: Bearer $DAMEDOKLAD_API_KEY"

List the mailboxes read into K vyřízení, with when each was last read and any problem. Passwords are never returned

GET/v1/mailboxes

List the mailboxes read into K vyřízení, with when each was last read and any problem. Passwords are never returned

MCP tool: list-mailboxes

Query parameters

limitintegermin 1max 500
offsetintegermin 0max 9007199254740991
searchstringmax 200 chars

Response · 200

dataobject[]required
object"mailbox"required
idstringrequired
providernull | stringrequired
emailnull | stringrequired
labelstring | nullrequired
hostnull | stringrequired
portinteger | nullrequired
securitynull | stringrequired
usernamenull | stringrequired
foldernull | stringrequired
statusstringrequired
errorCodenull | stringrequired
lastSyncAtnull | stringrequireddate-time
readFromstringrequireddate
createdAtstringrequireddate-time
foldersstring[]
keepMessagesboolean
smtpHostnull | string
smtpPortinteger | null
smtpSecuritynull | string
smtpUsernamestring | null
sendingReadyboolean
totalinteger
Rows that match, on all pages.
hasMorebooleanrequired
More rows follow. Ask again with offset + the number of rows received.
GET/v1/mailboxes
curl https://api.damedoklad.cz/v1/mailboxes \
  -H "Authorization: Bearer $DAMEDOKLAD_API_KEY"

Connect a mailbox over IMAP with a password: tests the login first, stores the password encrypted, and from then on reads new attachments into K vyřízení. Nothing on the mail server changes

POST/v1/mailboxes

Connect a mailbox over IMAP with a password: tests the login first, stores the password encrypted, and from then on reads new attachments into K vyřízení. Nothing on the mail server changes. Only public servers on the standard ports. The company’s sender rules from the inbound e-mail settings apply. Reads back 30 days on the first run unless readFrom says otherwise.

MCP tool: connect-mailbox

Request body

emailstringrequiredemail
labelstring | null
hoststringrequiredmin 3 charsmax 253 chars
portintegermin 1max 65535
security"tls" | "starttls"
usernamestringmax 200 chars
passwordstringrequiredmax 500 chars
readFromstringYYYY-MM-DD
Date as YYYY-MM-DD.

Response · 201

idstringrequired
providernull | stringrequired
emailnull | stringrequired
labelstring | nullrequired
hostnull | stringrequired
portinteger | nullrequired
securitynull | stringrequired
usernamenull | stringrequired
foldernull | stringrequired
statusstringrequired
errorCodenull | stringrequired
lastSyncAtnull | stringrequireddate-time
readFromstringrequireddate
createdAtstringrequireddate-time
foldersstring[]
keepMessagesboolean
smtpHostnull | string
smtpPortinteger | null
smtpSecuritynull | string
smtpUsernamestring | null
sendingReadyboolean
POST/v1/mailboxes
curl -X POST https://api.damedoklad.cz/v1/mailboxes \
  -H "Authorization: Bearer $DAMEDOKLAD_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
  "email": "info@example.cz",
  "host": "string",
  "password": "string"
}'

Rename a mailbox, pause it, give it a new password, choose which server folders are read, whether message text is kept, and its outgoing SMTP server. A new password is tested first

PATCH/v1/mailboxes/{id}

Rename a mailbox, pause it, give it a new password, choose which server folders are read, whether message text is kept, and its outgoing SMTP server. A new password is tested first

MCP tool: update-mailbox

Path parameters

idstringrequired

Request body

labelstring | null
passwordstringmax 500 chars
activeboolean
foldersstring[]
keepMessagesboolean
smtpHoststring | null
smtpPortinteger | null
smtpSecurity"tls" | "starttls" | null
smtpUsernamestring | null

Response · 200

idstringrequired
providernull | stringrequired
emailnull | stringrequired
labelstring | nullrequired
hostnull | stringrequired
portinteger | nullrequired
securitynull | stringrequired
usernamenull | stringrequired
foldernull | stringrequired
statusstringrequired
errorCodenull | stringrequired
lastSyncAtnull | stringrequireddate-time
readFromstringrequireddate
createdAtstringrequireddate-time
foldersstring[]
keepMessagesboolean
smtpHostnull | string
smtpPortinteger | null
smtpSecuritynull | string
smtpUsernamestring | null
sendingReadyboolean
PATCH/v1/mailboxes/{id}
curl -X PATCH https://api.damedoklad.cz/v1/mailboxes/obj_2n9F4kT7wQ1xYz0aBcDeFgHiJkL \
  -H "Authorization: Bearer $DAMEDOKLAD_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
  "label": "string",
  "password": "string",
  "active": false
}'

Disconnect a mailbox and forget its password or token. Documents already in K vyřízení stay, and nothing on the mail server changes

DELETE/v1/mailboxes/{id}

Disconnect a mailbox and forget its password or token. Documents already in K vyřízení stay, and nothing on the mail server changes

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

MCP tool: remove-mailbox

Path parameters

idstringrequired

Response · 200

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

List the folders on the mail server of a mailbox, to choose which are read. Asks the server, and changes nothing on it

GET/v1/mailboxes/{id}/folders

List the folders on the mail server of a mailbox, to choose which are read. Asks the server, and changes nothing on it

MCP tool: list-mailbox-folders

Path parameters

idstringrequired

Query parameters

limitintegermin 1max 500
offsetintegermin 0max 9007199254740991
searchstringmax 200 chars

Response · 200

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

Read a mailbox now instead of waiting for the next run. Says how many documents came, were refused, or were already there

POST/v1/mailboxes/{id}/sync

Read a mailbox now instead of waiting for the next run. Says how many documents came, were refused, or were already there

MCP tool: sync-mailbox

Path parameters

idstringrequired

Response · 200

idstringrequired
statusstringrequired
errorCodenull | string
receivedintegerrequired
rejectedintegerrequired
duplicatesintegerrequired
skippedintegerrequired
remaininginteger | nullrequired
unreadableFoldersstring[]
POST/v1/mailboxes/{id}/sync
curl -X POST https://api.damedoklad.cz/v1/mailboxes/obj_2n9F4kT7wQ1xYz0aBcDeFgHiJkL/sync \
  -H "Authorization: Bearer $DAMEDOKLAD_API_KEY"

Suggest the IMAP server for an e-mail address. A suggestion only: connecting proves it

POST/v1/mailboxes/detect

Suggest the IMAP server for an e-mail address. A suggestion only: connecting proves it

MCP tool: detect-mailbox-server

Request body

emailstringrequiredemail

Response · 200

emailnull | stringrequired
hostnull | stringrequired
portinteger | nullrequired
securitynull | stringrequired
usernamenull | stringrequired
knownbooleanrequired
suggestedProviderstringrequired
smtpHostnull | string
smtpPortinteger | null
smtpSecuritynull | string
POST/v1/mailboxes/detect
curl -X POST https://api.damedoklad.cz/v1/mailboxes/detect \
  -H "Authorization: Bearer $DAMEDOKLAD_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
  "email": "info@example.cz"
}'

List the mail of connected mailboxes, newest first: status unprocessed or done, direction in or out, one mailbox, or a search in sender, subject and text

GET/v1/mailboxes/messages

List the mail of connected mailboxes, newest first: status unprocessed or done, direction in or out, one mailbox, or a search in sender, subject and text

MCP tool: list-mailbox-messages

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"unprocessed" | "done"
direction"in" | "out"
mailboxIdstring
ID of the mailbox. Find it with list-mailboxes.

Response · 200

dataobject[]required
object"mailbox_message"required
idstringrequired
mailboxIdnull | stringrequired
mailboxEmailstringrequired
foldernull | stringrequired
directionstringrequired
statusstringrequired
fromAddressnull | stringrequired
fromNamenull | stringrequired
tostring[]required
ccstring[]required
subjectnull | stringrequired
sentAtnull | stringrequireddate-time
previewstringrequired
suspiciousbooleanrequired
attachmentsobject[]required
filenamenull | stringrequired
documentIdnull | stringrequired
replyToIdnull | stringrequired
doneAtnull | stringrequireddate-time
createdAtstringrequireddate-time
textstring
replyTostring | null
messageIdnull | string
totalinteger
Rows that match, on all pages.
hasMorebooleanrequired
More rows follow. Ask again with offset + the number of rows received.
GET/v1/mailboxes/messages
curl https://api.damedoklad.cz/v1/mailboxes/messages \
  -H "Authorization: Bearer $DAMEDOKLAD_API_KEY"

Write a new message from a connected mailbox, through its own SMTP server. It really goes out. Off until the operator switches sending on

POST/v1/mailboxes/messages

Write a new message from a connected mailbox, through its own SMTP server. It really goes out. Off until the operator switches sending on. Attachments in fileBase64, up to 25 MB together. The copy is kept here under direction=out. It is not added to the Sent folder on the mail server.

MCP tool: send-mailbox-message

Request body

mailboxIdstringrequired
ID of the mailbox. Find it with list-mailboxes.
tostring[]required
ccstring[]
subjectstringrequiredmax 300 chars
textstringrequiredmax 200000 chars
attachmentsobject[]
filenamestringrequiredmax 255 chars
contentTypestringrequiredmax 120 chars
fileBase64stringrequired
File content encoded as base64.

Response · 201

idstringrequired
mailboxIdnull | stringrequired
mailboxEmailstringrequired
foldernull | stringrequired
directionstringrequired
statusstringrequired
fromAddressnull | stringrequired
fromNamenull | stringrequired
tostring[]required
ccstring[]required
subjectnull | stringrequired
sentAtnull | stringrequireddate-time
previewstringrequired
suspiciousbooleanrequired
attachmentsobject[]required
filenamenull | stringrequired
documentIdnull | stringrequired
replyToIdnull | stringrequired
doneAtnull | stringrequireddate-time
createdAtstringrequireddate-time
textstring
replyTostring | null
messageIdnull | string
POST/v1/mailboxes/messages
curl -X POST https://api.damedoklad.cz/v1/mailboxes/messages \
  -H "Authorization: Bearer $DAMEDOKLAD_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
  "mailboxId": "obj_2n9F4kT7wQ1xYz0aBcDeFgHiJkL",
  "to": [
    "2026-10-30"
  ],
  "subject": "string",
  "text": "string"
}'

Read one message with its text. The text is plain, never HTML, and an attachment that reached K vyřízení names its document

GET/v1/mailboxes/messages/{id}

Read one message with its text. The text is plain, never HTML, and an attachment that reached K vyřízení names its document

MCP tool: get-mailbox-message

Path parameters

idstringrequired

Response · 200

idstringrequired
mailboxIdnull | stringrequired
mailboxEmailstringrequired
foldernull | stringrequired
directionstringrequired
statusstringrequired
fromAddressnull | stringrequired
fromNamenull | stringrequired
tostring[]required
ccstring[]required
subjectnull | stringrequired
sentAtnull | stringrequireddate-time
previewstringrequired
suspiciousbooleanrequired
attachmentsobject[]required
filenamenull | stringrequired
documentIdnull | stringrequired
replyToIdnull | stringrequired
doneAtnull | stringrequireddate-time
createdAtstringrequireddate-time
textstring
replyTostring | null
messageIdnull | string
GET/v1/mailboxes/messages/{id}
curl https://api.damedoklad.cz/v1/mailboxes/messages/obj_2n9F4kT7wQ1xYz0aBcDeFgHiJkL \
  -H "Authorization: Bearer $DAMEDOKLAD_API_KEY"

Move a message between Unprocessed and Done. This happens here only: nothing changes on the mail server

PATCH/v1/mailboxes/messages/{id}

Move a message between Unprocessed and Done. This happens here only: nothing changes on the mail server

MCP tool: update-mailbox-message

Path parameters

idstringrequired

Request body

status"unprocessed" | "done"required

Response · 200

idstringrequired
mailboxIdnull | stringrequired
mailboxEmailstringrequired
foldernull | stringrequired
directionstringrequired
statusstringrequired
fromAddressnull | stringrequired
fromNamenull | stringrequired
tostring[]required
ccstring[]required
subjectnull | stringrequired
sentAtnull | stringrequireddate-time
previewstringrequired
suspiciousbooleanrequired
attachmentsobject[]required
filenamenull | stringrequired
documentIdnull | stringrequired
replyToIdnull | stringrequired
doneAtnull | stringrequireddate-time
createdAtstringrequireddate-time
textstring
replyTostring | null
messageIdnull | string
PATCH/v1/mailboxes/messages/{id}
curl -X PATCH https://api.damedoklad.cz/v1/mailboxes/messages/obj_2n9F4kT7wQ1xYz0aBcDeFgHiJkL \
  -H "Authorization: Bearer $DAMEDOKLAD_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
  "status": "unprocessed"
}'

Delete a message from here. It stays on the mail server, and documents already in K vyřízení stay too. It does not come back, because reading has moved past it

DELETE/v1/mailboxes/messages/{id}

Delete a message from here. It stays on the mail server, and documents already in K vyřízení stay too. It does not come back, because reading has moved past it

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

MCP tool: delete-mailbox-message

Path parameters

idstringrequired

Response · 200

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

Forward a message with the attachments held in K vyřízení. An attachment that did not reach it was not kept, so it does not go along. It really goes out

POST/v1/mailboxes/messages/{id}/forward

Forward a message with the attachments held in K vyřízení. An attachment that did not reach it was not kept, so it does not go along. It really goes out

MCP tool: forward-mailbox-message

Path parameters

idstringrequired

Request body

tostring[]required
ccstring[]
textstringmax 200000 chars
attachmentsobject[]
filenamestringrequiredmax 255 chars
contentTypestringrequiredmax 120 chars
fileBase64stringrequired
File content encoded as base64.

Response · 201

idstringrequired
mailboxIdnull | stringrequired
mailboxEmailstringrequired
foldernull | stringrequired
directionstringrequired
statusstringrequired
fromAddressnull | stringrequired
fromNamenull | stringrequired
tostring[]required
ccstring[]required
subjectnull | stringrequired
sentAtnull | stringrequireddate-time
previewstringrequired
suspiciousbooleanrequired
attachmentsobject[]required
filenamenull | stringrequired
documentIdnull | stringrequired
replyToIdnull | stringrequired
doneAtnull | stringrequireddate-time
createdAtstringrequireddate-time
textstring
replyTostring | null
messageIdnull | string
POST/v1/mailboxes/messages/{id}/forward
curl -X POST https://api.damedoklad.cz/v1/mailboxes/messages/obj_2n9F4kT7wQ1xYz0aBcDeFgHiJkL/forward \
  -H "Authorization: Bearer $DAMEDOKLAD_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
  "to": [
    "2026-10-30"
  ]
}'

Reply to a message from the mailbox it came to, quoting it and keeping the thread, and move it to Done. replyAll adds the others. It really goes out

POST/v1/mailboxes/messages/{id}/reply

Reply to a message from the mailbox it came to, quoting it and keeping the thread, and move it to Done. replyAll adds the others. It really goes out

MCP tool: reply-to-mailbox-message

Path parameters

idstringrequired

Request body

replyAllboolean
textstringrequiredmax 200000 chars
attachmentsobject[]
filenamestringrequiredmax 255 chars
contentTypestringrequiredmax 120 chars
fileBase64stringrequired
File content encoded as base64.

Response · 201

idstringrequired
mailboxIdnull | stringrequired
mailboxEmailstringrequired
foldernull | stringrequired
directionstringrequired
statusstringrequired
fromAddressnull | stringrequired
fromNamenull | stringrequired
tostring[]required
ccstring[]required
subjectnull | stringrequired
sentAtnull | stringrequireddate-time
previewstringrequired
suspiciousbooleanrequired
attachmentsobject[]required
filenamenull | stringrequired
documentIdnull | stringrequired
replyToIdnull | stringrequired
doneAtnull | stringrequireddate-time
createdAtstringrequireddate-time
textstring
replyTostring | null
messageIdnull | string
POST/v1/mailboxes/messages/{id}/reply
curl -X POST https://api.damedoklad.cz/v1/mailboxes/messages/obj_2n9F4kT7wQ1xYz0aBcDeFgHiJkL/reply \
  -H "Authorization: Bearer $DAMEDOKLAD_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
  "text": "string"
}'

Which kinds of mailbox can be connected here. IMAP always; Gmail and Microsoft 365 when the operator has registered an app

GET/v1/mailboxes/providers

Which kinds of mailbox can be connected here. IMAP always; Gmail and Microsoft 365 when the operator has registered an app

MCP tool: get-mailbox-providers

Response · 200

imapbooleanrequired
gmailbooleanrequired
microsoft365booleanrequired
sendingboolean
GET/v1/mailboxes/providers
curl https://api.damedoklad.cz/v1/mailboxes/providers \
  -H "Authorization: Bearer $DAMEDOKLAD_API_KEY"

List the people with access to this company and their roles

GET/v1/members

List the people with access to this company and their roles

MCP tool: list-members

Query parameters

limitintegermin 1max 500
offsetintegermin 0max 9007199254740991
searchstringmax 200 chars

Response · 200

dataobject[]required
object"membership"required
idstringrequired
rolestringrequired
userIdnull | stringrequired
workspaceIdstringrequired
emailnull | string
namenull | string
totpEnabledboolean
lastUsedAtnull | stringdate-time
joinedAtstringdate-time
isCurrentUserbooleanrequired
accessRoleIdnull | string
accessRoleNamestring
accessnull | object
agendasobjectrequired
payrollstring
contactsstring
salesstring
purchasesstring
bankstring
cashstring
ledgerstring
taxstring
inventorystring
assetsstring
travelstring
agendasstring
reportsstring
inboxstring
administrationstring
scopesobjectrequired
warehousesarray | nullrequired
registersarray | nullrequired
accountsarray | nullrequired
seriesarray | nullrequired
centersarray | null
totalinteger
Rows that match, on all pages.
hasMorebooleanrequired
More rows follow. Ask again with offset + the number of rows received.
GET/v1/members
curl https://api.damedoklad.cz/v1/members \
  -H "Authorization: Bearer $DAMEDOKLAD_API_KEY"

Invite someone by e-mail. Sends a real e-mail; confirm the address and role with the user first.

POST/v1/members

Invite someone by e-mail. Sends a real e-mail; confirm the address and role with the user first.

MCP tool: invite-member

Request body

emailstringrequiredemail
role"owner" | "accountant" | "invoicing" | "warehouse" | "readonly" | "custom"required
accessRoleIdstring
ID of the access role. Find it with list-access-roles.

Response · 201

idstringrequired
emailnull | stringrequired
rolestringrequired
accessRoleIdnull | string
expiresAtstringrequireddate-time
expiredbooleanrequired
createdAtstringrequireddate-time
tokenstring
POST/v1/members
curl -X POST https://api.damedoklad.cz/v1/members \
  -H "Authorization: Bearer $DAMEDOKLAD_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
  "email": "info@example.cz",
  "role": "owner"
}'

Change what someone may do in this company. The last owner cannot be demoted.

PATCH/v1/members/{id}

Change what someone may do in this company. The last owner cannot be demoted.

MCP tool: update-member-role

Path parameters

idstringrequired

Request body

role"owner" | "accountant" | "invoicing" | "warehouse" | "readonly" | "custom"required
accessRoleIdstring
ID of the access role. Find it with list-access-roles.

Response · 200

idstringrequired
rolestringrequired
userIdnull | stringrequired
workspaceIdstringrequired
emailnull | string
namenull | string
totpEnabledboolean
lastUsedAtnull | stringdate-time
joinedAtstringdate-time
isCurrentUserbooleanrequired
accessRoleIdnull | string
accessRoleNamestring
accessnull | object
agendasobjectrequired
payrollstring
contactsstring
salesstring
purchasesstring
bankstring
cashstring
ledgerstring
taxstring
inventorystring
assetsstring
travelstring
agendasstring
reportsstring
inboxstring
administrationstring
scopesobjectrequired
warehousesarray | nullrequired
registersarray | nullrequired
accountsarray | nullrequired
seriesarray | nullrequired
centersarray | null
PATCH/v1/members/{id}
curl -X PATCH https://api.damedoklad.cz/v1/members/obj_2n9F4kT7wQ1xYz0aBcDeFgHiJkL \
  -H "Authorization: Bearer $DAMEDOKLAD_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
  "role": "owner"
}'

Remove someone from this company, or leave it yourself. Their API keys here are revoked. The last owner cannot be removed.

DELETE/v1/members/{id}

Remove someone from this company, or leave it yourself. Their API keys here are revoked. The last owner cannot be removed.

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

MCP tool: remove-member

Path parameters

idstringrequired

Response · 200

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

What one person may do in this company: a fixed role written out as rights, or a custom role with its parent applied

GET/v1/members/{id}/access

What one person may do in this company: a fixed role written out as rights, or a custom role with its parent applied

MCP tool: get-member-access

Path parameters

idstringrequired

Response · 200

rolenull | objectrequired
idstringrequired
namenull | stringrequired
fixedRolenull | stringrequired
parentnull | objectrequired
idstringrequired
namenull | stringrequired
agendasobject[]required
keystringrequired
levelstringrequired
inheritedbooleanrequired
scopesobjectrequired
warehousesarray | nullrequired
idstringrequired
namenull | stringrequired
registersanyrequired
Null in every recorded response.
accountsanyrequired
Null in every recorded response.
seriesanyrequired
Null in every recorded response.
centersanyrequired
Null in every recorded response.
deniedobjectrequired
formatsstring[]required
reportsobject[]required
keystringrequired
csstringrequired
enstringrequired
fixedOnlystring[]required
membersstring[]required
GET/v1/members/{id}/access
curl https://api.damedoklad.cz/v1/members/obj_2n9F4kT7wQ1xYz0aBcDeFgHiJkL/access \
  -H "Authorization: Bearer $DAMEDOKLAD_API_KEY"

Get the membership and role of whoever is calling, and for a custom role the agendas and limits it has

GET/v1/members/me

Get the membership and role of whoever is calling, and for a custom role the agendas and limits it has

MCP tool: get-current-member

Response · 200

idstringrequired
rolestringrequired
userIdnull | stringrequired
workspaceIdstringrequired
emailnull | string
namenull | string
totpEnabledboolean
lastUsedAtnull | stringdate-time
joinedAtstringdate-time
isCurrentUserbooleanrequired
accessRoleIdnull | string
accessRoleNamestring
accessnull | object
agendasobjectrequired
payrollstring
contactsstring
salesstring
purchasesstring
bankstring
cashstring
ledgerstring
taxstring
inventorystring
assetsstring
travelstring
agendasstring
reportsstring
inboxstring
administrationstring
scopesobjectrequired
warehousesarray | nullrequired
registersarray | nullrequired
accountsarray | nullrequired
seriesarray | nullrequired
centersarray | null
GET/v1/members/me
curl https://api.damedoklad.cz/v1/members/me \
  -H "Authorization: Bearer $DAMEDOKLAD_API_KEY"

List notifications for this company, newest first: tax and payroll deadlines coming up, overdue invoices, failed e-mails and webhooks, finished imports

GET/v1/notifications

List notifications for this company, newest first: tax and payroll deadlines coming up, overdue invoices, failed e-mails and webhooks, finished imports

MCP tool: list-notifications

Query parameters

limitintegermin 1max 500
offsetintegermin 0max 9007199254740991
unread"true" | "false"

Response · 200

dataobject[]required
object"notification"required
idstringrequired
kindstringrequired
severitystringrequired
paramsobjectrequired
countinteger
oldestDaysinteger
amountHalerinteger | null
overDeadlineinteger
daysLeftinteger
notAfterstringdate
periodstring
linkboolean
whatstring
labelnull | string
statusstring
credentialstring
filenamenull | string
autoMatchedinteger
subjectnull | string
recipientstring
resultnull | object
contactsintegerrequired
contactsUpdatedintegerrequired
duestring
unknowninteger
keystring
datestringdate
labelCsstring
labelEnstring
contactNamenull | string
dueOnnull | stringdate
sentinteger
failedinteger
skippedinteger
pathnull | stringrequired
titleCsstringrequired
titleEnstringrequired
bodyCsnull | stringrequired
bodyEnnull | stringrequired
readbooleanrequired
readAtnull | stringrequireddate-time
createdAtstringrequireddate-time
totalinteger
Rows that match, on all pages.
hasMorebooleanrequired
More rows follow. Ask again with offset + the number of rows received.
GET/v1/notifications
curl https://api.damedoklad.cz/v1/notifications \
  -H "Authorization: Bearer $DAMEDOKLAD_API_KEY"

Send a failed delivery again

POST/v1/webhook-deliveries/{id}/retry

Send a failed delivery again

MCP tool: retry-webhook-delivery

Path parameters

idstringrequired

Response · 200

idstringrequired
endpointIdstringrequired
eventIdstringrequired
eventTypestringrequired
statusstringrequired
attemptsintegerrequired
nextAttemptAtnull | stringrequireddate-time
responseStatusinteger | nullrequired
responseBodynull | stringrequired
durationMsinteger | nullrequired
errornull | stringrequired
isTestbooleanrequired
payloadanyrequired
createdAtstringrequireddate-time
deliveredAtnull | stringrequireddate-time
POST/v1/webhook-deliveries/{id}/retry
curl -X POST https://api.damedoklad.cz/v1/webhook-deliveries/obj_2n9F4kT7wQ1xYz0aBcDeFgHiJkL/retry \
  -H "Authorization: Bearer $DAMEDOKLAD_API_KEY"

List the event types a webhook can subscribe to. Payloads are in the `webhooks` section of /openapi.json

GET/v1/webhook-events

List the event types a webhook can subscribe to. Payloads are in the `webhooks` section of /openapi.json

MCP tool: list-webhook-events

Query parameters

limitintegermin 1max 500
offsetintegermin 0max 9007199254740991
searchstringmax 200 chars

Response · 200

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

List webhook endpoints

GET/v1/webhooks

List webhook endpoints

MCP tool: list-webhook-endpoints

Query parameters

limitintegermin 1max 500
offsetintegermin 0max 9007199254740991
searchstringmax 200 chars

Response · 200

dataobject[]required
object"webhook_endpoint"required
idstringrequired
urlstringrequired
descriptionnull | stringrequired
eventsstring[]required
enabledbooleanrequired
createdAtstringrequireddate-time
updatedAtstringrequireddate-time
secretstring
totalinteger
Rows that match, on all pages.
hasMorebooleanrequired
More rows follow. Ask again with offset + the number of rows received.
GET/v1/webhooks
curl https://api.damedoklad.cz/v1/webhooks \
  -H "Authorization: Bearer $DAMEDOKLAD_API_KEY"

Create a webhook endpoint. The signing secret is returned once.

POST/v1/webhooks

Create a webhook endpoint. The signing secret is returned once.

MCP tool: create-webhook-endpoint

Request body

urlstringrequiredmax 2000 charsuri
descriptionstring | null
eventsstring[]default ["*"]

Response · 201

idstringrequired
urlstringrequired
descriptionnull | stringrequired
eventsstring[]required
enabledbooleanrequired
createdAtstringrequireddate-time
updatedAtstringrequireddate-time
secretstring
POST/v1/webhooks
curl -X POST https://api.damedoklad.cz/v1/webhooks \
  -H "Authorization: Bearer $DAMEDOKLAD_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
  "url": "string"
}'

Get a webhook endpoint

GET/v1/webhooks/{id}

Get a webhook endpoint

MCP tool: get-webhook-endpoint

Path parameters

idstringrequired

Response · 200

idstringrequired
urlstringrequired
descriptionnull | stringrequired
eventsstring[]required
enabledbooleanrequired
createdAtstringrequireddate-time
updatedAtstringrequireddate-time
secretstring
GET/v1/webhooks/{id}
curl https://api.damedoklad.cz/v1/webhooks/obj_2n9F4kT7wQ1xYz0aBcDeFgHiJkL \
  -H "Authorization: Bearer $DAMEDOKLAD_API_KEY"

Update a webhook endpoint: URL, events, or pause it

PATCH/v1/webhooks/{id}

Update a webhook endpoint: URL, events, or pause it

MCP tool: update-webhook-endpoint

Path parameters

idstringrequired

Request body

urlstringmax 2000 charsuri
descriptionstring | null
eventsstring[]
enabledboolean

Response · 200

idstringrequired
urlstringrequired
descriptionnull | stringrequired
eventsstring[]required
enabledbooleanrequired
createdAtstringrequireddate-time
updatedAtstringrequireddate-time
secretstring
PATCH/v1/webhooks/{id}
curl -X PATCH https://api.damedoklad.cz/v1/webhooks/obj_2n9F4kT7wQ1xYz0aBcDeFgHiJkL \
  -H "Authorization: Bearer $DAMEDOKLAD_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
  "url": "string",
  "description": "Pečivo, říjen",
  "events": [
    "string"
  ]
}'

Delete a webhook endpoint and its delivery log

DELETE/v1/webhooks/{id}

Delete a webhook endpoint and its delivery log

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

MCP tool: delete-webhook-endpoint

Path parameters

idstringrequired

Response · 200

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

List delivery attempts of a webhook endpoint, newest first

GET/v1/webhooks/{id}/deliveries

List delivery attempts of a webhook endpoint, newest first

MCP tool: list-webhook-deliveries

Path parameters

idstringrequired

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" | "success" | "failed"

Response · 200

dataobject[]required
object"webhook_delivery"required
idstringrequired
endpointIdstringrequired
eventIdstringrequired
eventTypestringrequired
statusstringrequired
attemptsintegerrequired
nextAttemptAtnull | stringrequireddate-time
responseStatusinteger | nullrequired
responseBodynull | stringrequired
durationMsinteger | nullrequired
errornull | stringrequired
isTestbooleanrequired
payloadanyrequired
createdAtstringrequireddate-time
deliveredAtnull | stringrequireddate-time
totalinteger
Rows that match, on all pages.
hasMorebooleanrequired
More rows follow. Ask again with offset + the number of rows received.
GET/v1/webhooks/{id}/deliveries
curl https://api.damedoklad.cz/v1/webhooks/obj_2n9F4kT7wQ1xYz0aBcDeFgHiJkL/deliveries \
  -H "Authorization: Bearer $DAMEDOKLAD_API_KEY"

Replace the signing secret. The new secret is returned once; the old one stops working immediately.

POST/v1/webhooks/{id}/rotate-secret

Replace the signing secret. The new secret is returned once; the old one stops working immediately.

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

MCP tool: rotate-webhook-secret

Path parameters

idstringrequired

Response · 200

idstringrequired
urlstringrequired
descriptionnull | stringrequired
eventsstring[]required
enabledbooleanrequired
createdAtstringrequireddate-time
updatedAtstringrequireddate-time
secretstring
POST/v1/webhooks/{id}/rotate-secret
curl -X POST https://api.damedoklad.cz/v1/webhooks/obj_2n9F4kT7wQ1xYz0aBcDeFgHiJkL/rotate-secret \
  -H "Authorization: Bearer $DAMEDOKLAD_API_KEY"

Send a signed test event to this endpoint now and return the result. Test events are not retried.

POST/v1/webhooks/{id}/test

Send a signed test event to this endpoint now and return the result. Test events are not retried.

MCP tool: test-webhook-endpoint

Path parameters

idstringrequired

Response · 200

idstringrequired
endpointIdstringrequired
eventIdstringrequired
eventTypestringrequired
statusstringrequired
attemptsintegerrequired
nextAttemptAtnull | stringrequireddate-time
responseStatusinteger | nullrequired
responseBodynull | stringrequired
durationMsinteger | nullrequired
errornull | stringrequired
isTestbooleanrequired
payloadanyrequired
createdAtstringrequireddate-time
deliveredAtnull | stringrequireddate-time
POST/v1/webhooks/{id}/test
curl -X POST https://api.damedoklad.cz/v1/webhooks/obj_2n9F4kT7wQ1xYz0aBcDeFgHiJkL/test \
  -H "Authorization: Bearer $DAMEDOKLAD_API_KEY"