# Majetek · API DameDokladu

> Operace ve skupině Majetek.

Source: https://damedoklad.cz/docs/api-reference/assets/

# Majetek

Operace ve skupině Majetek.

## List received invoice lines that could become assets: by default those above the 80 000 Kč threshold

GET `/v1/asset-acquisition-candidates`

List received invoice lines that could become assets: by default those above the 80 000 Kč threshold. Lines already linked to an asset and invoices in storno are left out. Set all=true to see smaller lines too.

Nástroj MCP: `list-asset-acquisition-candidates`

### Parametry dotazu

`limit` integer min 1 max 500

`offset` integer min 0 max 9007199254740991

`search` string max 200 chars

`from` string YYYY-MM-DD

Date as YYYY-MM-DD.

`to` string YYYY-MM-DD

Date as YYYY-MM-DD.

`all` boolean

### Odpověď · 200

`data` object\[\] povinné

`object` "asset\_acquisition\_candidate" povinné

`id` string povinné

`lineId` string povinné

`invoiceId` null | string povinné

`invoiceNumber` string povinné

`contactId` null | string povinné

`contactName` null | string povinné

`issueDate` null | string povinné date

`description` null | string povinné

`netHaler` integer povinné

`vatHaler` integer | null povinné

`totalHaler` integer | null povinné

`costHaler` integer povinné

`total` integer

Rows that match, on all pages.

`hasMore` boolean povinné

More rows follow. Ask again with offset + the number of rows received.

```bash
curl https://api.damedoklad.cz/v1/asset-acquisition-candidates \
  -H "Authorization: Bearer $DAMEDOKLAD_API_KEY"
```

```javascript
const response = await fetch('https://api.damedoklad.cz/v1/asset-acquisition-candidates', {
  headers: {
    Authorization: `Bearer ${process.env.DAMEDOKLAD_API_KEY}`,
  },
});
const data = await response.json();
```

```python
import os
import requests

response = requests.get(
    "https://api.damedoklad.cz/v1/asset-acquisition-candidates",
    headers={"Authorization": f"Bearer {os.environ['DAMEDOKLAD_API_KEY']}"},
)
data = response.json()
```

## Create an asset from a received invoice line: reclassifies the cost to 042 and, with placeOn, posts MD 022 / D 042

POST `/v1/asset-acquisitions`

Create an asset from a received invoice line: reclassifies the cost to 042 and, with placeOn, posts MD 022 / D 042. Pass assetId to add another line to an asset still in acquisition. In daňová evidence the paid part of the line is removed from cash book expenses, because the price reaches the tax base through depreciation.

Nástroj MCP: `create-asset-from-invoice-line`

### Tělo požadavku

`lineId` string povinné

ID of the line.

`assetId` string

ID of the asset. Find it with list-assets.

`name` string max 200 chars

`inventoryNumber` string max 500 chars

`category` "dhm" | "dnm" | "land\_art"

`assetAccount` string

`taxMethod` "straight" | "accelerated" | "extraordinary\_ev" | "accounting" | "time\_based" | "none"

`taxGroup` integer min 1 max 6

`taxVariant` "standard" | "plus10" | "plus15" | "plus20"

`firstDepreciator` boolean

`isM1` boolean

`zeroEmission` boolean

`accountingMethod` "straight\_line" | "performance" | "equal\_to\_tax" | "none"

`lifeMonths` integer min 1 max 1200

`location` string max 500 chars

`responsiblePerson` string max 500 chars

`placeOn` string YYYY-MM-DD

Date as YYYY-MM-DD.

### Odpověď · 201

`id` string povinné

`inventoryNumber` null | string povinné

`name` string povinné

`status` string povinné

`category` null | string povinné

`acquiredOn` null | string povinné date

`placedOn` null | string povinné date

`disposedOn` null | string povinné date

`costHaler` integer povinné

`assetAccount` string povinné

`accumulatedAccount` null | string povinné

`expenseAccount` string povinné

`inProgressAccount` string povinné

`location` null | string povinné

`responsiblePerson` null | string povinné

`physicalDimensions` null | string povinné

`serialNumber` string | null povinné

`note` string | null povinné

`contactId` null | string povinné

`centerId` null | string povinné

`activityId` string | null povinné

`projectId` string | null povinné

`taxMethod` string povinné

`taxGroup` integer | null povinné

`taxVariant` string povinné

`taxEntryPriceHaler` integer | null povinné

`taxStartYear` integer | null povinné

`m1LinkAssetId` null | string povinné

`m1LinkLeaseId` null | string povinné

`firstDepreciator` boolean povinné

`isM1` boolean povinné

`zeroEmission` boolean povinné

`increaseExcluded` boolean povinné

`businessUsePct` integer povinné

`interruptedYears` integer\[\] povinné

`evidenceOnlyYears` integer\[\] povinné

`reducedFlatRateYears` integer\[\] povinné

`rateOverrides` object povinné

`accountingMethod` string povinné

`lifeMonths` integer | null povinné

`residualValueHaler` integer povinné

`totalUnitsMilli` integer | null povinné

`isOpening` boolean povinné

`openingAccumulatedHaler` integer povinné

`openingThroughMonth` null | string povinné

`taxTimeKind` null | string povinné

`taxTimeMonths` integer | null povinné

`taxTimePrecision` string povinné

`taxTimeUnitsMilli` integer | null povinné

`shareNumerator` integer povinné

`shareDenominator` integer povinné

`openingTaxAccumulatedHaler` integer povinné

`openingTaxThroughYear` integer | null povinné

`openingTaxYears` integer | null povinné

`openingTaxDeductibleHaler` integer | null povinné

`openingTaxIncreased` boolean povinné

`createdAt` string povinné date-time

`totalCostHaler` integer

`improvementsHaler` integer

`accumulatedHaler` integer

`bookValueHaler` integer

`improvements` any\[\]

`usage` any\[\]

`partialDisposals` object\[\]

`object` "asset\_partial\_disposal" povinné

`id` string povinné

`assetId` string povinné

`kind` string povinné

`disposedOn` string povinné date

`partCostHaler` integer povinné

`partTaxPriceHaler` integer povinné

`accountingAccumulatedHaler` integer povinné

`accountingResidualHaler` integer povinné

`taxDepreciationHaler` integer povinné

`taxResidualHaler` integer povinné

`taxDeductibleHaler` integer povinné

`saleHaler` integer povinné

`saleVatHaler` integer povinné

`compensationHaler` integer povinné

`toShareNumerator` integer | null povinné

`toShareDenominator` integer | null povinné

`journalEntryId` null | string povinné

`status` string povinné

`note` string | null povinné

`shareChanges` object\[\]

`object` "asset\_share\_change" povinné

`id` string povinné

`assetId` string povinné

`changedOn` string povinné date

`fromNumerator` integer povinné

`fromDenominator` integer povinné

`toNumerator` integer povinné

`toDenominator` integer povinné

`addedPriceHaler` integer povinné

`continuing` boolean povinné

`addedResidualHaler` integer | null povinné

`journalEntryId` null | string povinné

`status` string

`note` string | null povinné

`priceChanges` object\[\]

`object` "asset\_price\_change" povinné

`id` string povinné

`assetId` string povinné

`changedOn` string povinné date

`amountHaler` integer povinné

`reason` string povinné

`accountingAmountHaler` integer povinné

`journalEntryId` null | string povinné

`status` string povinné

`note` null | string povinné

`createdAt` string povinné date-time

`assignments` object\[\]

`object` "asset\_assignment" povinné

`id` string povinné

`assetId` string povinné

`effectiveOn` string povinné date

`location` null | string povinné

`responsiblePerson` null | string povinné

`centerId` null | string povinné

`activityId` string | null povinné

`projectId` string | null povinné

`source` string povinné

`note` null | string povinné

`acquisitionLines` object\[\]

`object` "asset\_acquisition\_line" povinné

`id` string povinné

`assetId` string povinné

`invoiceId` null | string povinné

`lineId` string povinné

`amountHaler` integer povinné

```bash
curl -X POST https://api.damedoklad.cz/v1/asset-acquisitions \
  -H "Authorization: Bearer $DAMEDOKLAD_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
  "lineId": "obj_2n9F4kT7wQ1xYz0aBcDeFgHiJkL"
}'
```

```javascript
const response = await fetch('https://api.damedoklad.cz/v1/asset-acquisitions', {
  method: 'POST',
  headers: {
    Authorization: `Bearer ${process.env.DAMEDOKLAD_API_KEY}`,
    'Content-Type': 'application/json',
  },
  body: JSON.stringify({
    "lineId": "obj_2n9F4kT7wQ1xYz0aBcDeFgHiJkL"
  }),
});
const data = await response.json();
```

```python
import os
import requests

response = requests.post(
    "https://api.damedoklad.cz/v1/asset-acquisitions",
    headers={"Authorization": f"Bearer {os.environ['DAMEDOKLAD_API_KEY']}"},
    json={
        "lineId": "obj_2n9F4kT7wQ1xYz0aBcDeFgHiJkL"
    },
)
data = response.json()
```

## Undo creating an asset from a received invoice line: reverses the reclass to 04x and the cash book correction, and frees the line and the invoice

POST `/v1/asset-acquisitions/{id}/undo`

Undo creating an asset from a received invoice line: reverses the reclass to 04x and the cash book correction, and frees the line and the invoice. The asset must be out of use; call unplaceAsset first. When the last line goes and the card was only that line, the card is deleted too.

Nevratná operaceTato operace se nedá vrátit. MCP klienti se před ní ptají na potvrzení.

Nástroj MCP: `undo-asset-acquisition`

### Parametry v cestě

`id` string povinné

### Odpověď · 200

`id` string povinné

`assetDeleted` boolean povinné

`assetId` null | string povinné

`costHaler` integer povinné

`linesLeft` integer povinné

```bash
curl -X POST https://api.damedoklad.cz/v1/asset-acquisitions/ast_2n9F4kT7wQ1xYz0aBcDeFgHiJkL/undo \
  -H "Authorization: Bearer $DAMEDOKLAD_API_KEY"
```

```javascript
const response = await fetch('https://api.damedoklad.cz/v1/asset-acquisitions/ast_2n9F4kT7wQ1xYz0aBcDeFgHiJkL/undo', {
  method: 'POST',
  headers: {
    Authorization: `Bearer ${process.env.DAMEDOKLAD_API_KEY}`,
  },
});
const data = await response.json();
```

```python
import os
import requests

response = requests.post(
    "https://api.damedoklad.cz/v1/asset-acquisitions/ast_2n9F4kT7wQ1xYz0aBcDeFgHiJkL/undo",
    headers={"Authorization": f"Bearer {os.environ['DAMEDOKLAD_API_KEY']}"},
)
data = response.json()
```

## List posted monthly depreciation batches

GET `/v1/asset-depreciation-runs`

List posted monthly depreciation batches

Nástroj MCP: `list-asset-depreciation-runs`

### Parametry dotazu

`limit` integer min 1 max 500

`offset` integer min 0 max 9007199254740991

`search` string max 200 chars

### Odpověď · 200

`data` object\[\] povinné

`object` "asset\_depreciation\_run" povinné

`id` string povinné

`month` string povinné

`postedOn` string povinné date

`totalHaler` integer povinné

`status` string povinné

`journalEntryId` null | string povinné

`reversalEntryId` null | string povinné

`total` integer

Rows that match, on all pages.

`hasMore` boolean povinné

More rows follow. Ask again with offset + the number of rows received.

```bash
curl https://api.damedoklad.cz/v1/asset-depreciation-runs \
  -H "Authorization: Bearer $DAMEDOKLAD_API_KEY"
```

```javascript
const response = await fetch('https://api.damedoklad.cz/v1/asset-depreciation-runs', {
  headers: {
    Authorization: `Bearer ${process.env.DAMEDOKLAD_API_KEY}`,
  },
});
const data = await response.json();
```

```python
import os
import requests

response = requests.get(
    "https://api.damedoklad.cz/v1/asset-depreciation-runs",
    headers={"Authorization": f"Bearer {os.environ['DAMEDOKLAD_API_KEY']}"},
)
data = response.json()
```

## Post the monthly depreciation batch (MD 551 / D 08x). One batch per month, months in order

POST `/v1/asset-depreciation-runs`

Post the monthly depreciation batch (MD 551 / D 08x). One batch per month, months in order

Nástroj MCP: `post-asset-depreciation-run`

### Tělo požadavku

`month` string povinné

### Odpověď · 201

`id` string povinné

`month` string povinné

`postedOn` string povinné date

`totalHaler` integer povinné

`status` string povinné

`journalEntryId` null | string povinné

`reversalEntryId` null | string povinné

```bash
curl -X POST https://api.damedoklad.cz/v1/asset-depreciation-runs \
  -H "Authorization: Bearer $DAMEDOKLAD_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
  "month": "2026-10-30"
}'
```

```javascript
const response = await fetch('https://api.damedoklad.cz/v1/asset-depreciation-runs', {
  method: 'POST',
  headers: {
    Authorization: `Bearer ${process.env.DAMEDOKLAD_API_KEY}`,
    'Content-Type': 'application/json',
  },
  body: JSON.stringify({
    "month": "2026-10-30"
  }),
});
const data = await response.json();
```

```python
import os
import requests

response = requests.post(
    "https://api.damedoklad.cz/v1/asset-depreciation-runs",
    headers={"Authorization": f"Bearer {os.environ['DAMEDOKLAD_API_KEY']}"},
    json={
        "month": "2026-10-30"
    },
)
data = response.json()
```

## Reverse the latest monthly depreciation batch with a storno entry

POST `/v1/asset-depreciation-runs/{id}/reverse`

Reverse the latest monthly depreciation batch with a storno entry

Nevratná operaceTato operace se nedá vrátit. MCP klienti se před ní ptají na potvrzení.

Nástroj MCP: `reverse-asset-depreciation-run`

### Parametry v cestě

`id` string povinné

### Odpověď · 200

`id` string povinné

`month` string povinné

`postedOn` string povinné date

`totalHaler` integer povinné

`status` string povinné

`journalEntryId` null | string povinné

`reversalEntryId` null | string povinné

```bash
curl -X POST https://api.damedoklad.cz/v1/asset-depreciation-runs/ast_2n9F4kT7wQ1xYz0aBcDeFgHiJkL/reverse \
  -H "Authorization: Bearer $DAMEDOKLAD_API_KEY"
```

```javascript
const response = await fetch('https://api.damedoklad.cz/v1/asset-depreciation-runs/ast_2n9F4kT7wQ1xYz0aBcDeFgHiJkL/reverse', {
  method: 'POST',
  headers: {
    Authorization: `Bearer ${process.env.DAMEDOKLAD_API_KEY}`,
  },
});
const data = await response.json();
```

```python
import os
import requests

response = requests.post(
    "https://api.damedoklad.cz/v1/asset-depreciation-runs/ast_2n9F4kT7wQ1xYz0aBcDeFgHiJkL/reverse",
    headers={"Authorization": f"Bearer {os.environ['DAMEDOKLAD_API_KEY']}"},
)
data = response.json()
```

## Preview the monthly accounting depreciation batch before posting it

GET `/v1/asset-depreciation-runs/preview`

Preview the monthly accounting depreciation batch before posting it

Nástroj MCP: `preview-asset-depreciation-run`

### Parametry dotazu

`month` string povinné

### Odpověď · 200

`month` null | string povinné

`totalHaler` integer | null povinné

`blockedBy` any povinné

Null in every recorded response.

`alreadyPosted` boolean povinné

`canPost` boolean povinné

`rows` object\[\] povinné

`assetId` null | string povinné

`inventoryNumber` null | string povinné

`name` null | string povinné

`amountHaler` integer | null povinné

`accumulatedHaler` integer povinné

`bookValueHaler` integer povinné

`dimensions` object povinné

`centerOid` any povinné

Null in every recorded response.

`activityOid` any povinné

Null in every recorded response.

`projectOid` any povinné

Null in every recorded response.

```bash
curl https://api.damedoklad.cz/v1/asset-depreciation-runs/preview \
  -H "Authorization: Bearer $DAMEDOKLAD_API_KEY"
```

```javascript
const response = await fetch('https://api.damedoklad.cz/v1/asset-depreciation-runs/preview', {
  headers: {
    Authorization: `Bearer ${process.env.DAMEDOKLAD_API_KEY}`,
  },
});
const data = await response.json();
```

```python
import os
import requests

response = requests.get(
    "https://api.damedoklad.cz/v1/asset-depreciation-runs/preview",
    headers={"Authorization": f"Bearer {os.environ['DAMEDOKLAD_API_KEY']}"},
)
data = response.json()
```

## List asset disposals

GET `/v1/asset-disposals`

List asset disposals

Nástroj MCP: `list-asset-disposals`

### Parametry dotazu

`limit` integer min 1 max 500

`offset` integer min 0 max 9007199254740991

`search` string max 200 chars

### Odpověď · 200

`data` object\[\] povinné

`object` "asset\_disposal" povinné

`id` string povinné

`assetId` string povinné

`kind` string povinné

`disposedOn` string povinné date

`saleHaler` integer povinné

`saleVatHaler` integer povinné

`compensationHaler` integer povinné

`fullyDeductibleDamage` boolean povinné

`contactId` string | null povinné

`accountingCostHaler` integer povinné

`accountingAccumulatedHaler` integer povinné

`accountingResidualHaler` integer povinné

`taxDepreciationHaler` integer povinné

`taxResidualHaler` integer povinné

`taxDeductibleHaler` integer povinné

`journalEntryId` null | string povinné

`status` string povinné

`note` null | string povinné

`total` integer

Rows that match, on all pages.

`hasMore` boolean povinné

More rows follow. Ask again with offset + the number of rows received.

```bash
curl https://api.damedoklad.cz/v1/asset-disposals \
  -H "Authorization: Bearer $DAMEDOKLAD_API_KEY"
```

```javascript
const response = await fetch('https://api.damedoklad.cz/v1/asset-disposals', {
  headers: {
    Authorization: `Bearer ${process.env.DAMEDOKLAD_API_KEY}`,
  },
});
const data = await response.json();
```

```python
import os
import requests

response = requests.get(
    "https://api.damedoklad.cz/v1/asset-disposals",
    headers={"Authorization": f"Bearer {os.environ['DAMEDOKLAD_API_KEY']}"},
)
data = response.json()
```

## Reverse a disposal with storno entries and return the asset to use

POST `/v1/asset-disposals/{id}/reverse`

Reverse a disposal with storno entries and return the asset to use

Nevratná operaceTato operace se nedá vrátit. MCP klienti se před ní ptají na potvrzení.

Nástroj MCP: `reverse-asset-disposal`

### Parametry v cestě

`id` string povinné

### Odpověď · 200

`id` string povinné

`assetId` string povinné

`kind` string povinné

`disposedOn` string povinné date

`saleHaler` integer povinné

`saleVatHaler` integer povinné

`compensationHaler` integer povinné

`fullyDeductibleDamage` boolean povinné

`contactId` string | null povinné

`accountingCostHaler` integer povinné

`accountingAccumulatedHaler` integer povinné

`accountingResidualHaler` integer povinné

`taxDepreciationHaler` integer povinné

`taxResidualHaler` integer povinné

`taxDeductibleHaler` integer povinné

`journalEntryId` null | string povinné

`status` string povinné

`note` null | string povinné

```bash
curl -X POST https://api.damedoklad.cz/v1/asset-disposals/ast_2n9F4kT7wQ1xYz0aBcDeFgHiJkL/reverse \
  -H "Authorization: Bearer $DAMEDOKLAD_API_KEY"
```

```javascript
const response = await fetch('https://api.damedoklad.cz/v1/asset-disposals/ast_2n9F4kT7wQ1xYz0aBcDeFgHiJkL/reverse', {
  method: 'POST',
  headers: {
    Authorization: `Bearer ${process.env.DAMEDOKLAD_API_KEY}`,
  },
});
const data = await response.json();
```

```python
import os
import requests

response = requests.post(
    "https://api.damedoklad.cz/v1/asset-disposals/ast_2n9F4kT7wQ1xYz0aBcDeFgHiJkL/reverse",
    headers={"Authorization": f"Bearer {os.environ['DAMEDOKLAD_API_KEY']}"},
)
data = response.json()
```

## Reverse the latest partial disposal of an asset with storno entries

POST `/v1/asset-partial-disposals/{id}/reverse`

Reverse the latest partial disposal of an asset with storno entries

Nevratná operaceTato operace se nedá vrátit. MCP klienti se před ní ptají na potvrzení.

Nástroj MCP: `reverse-asset-partial-disposal`

### Parametry v cestě

`id` string povinné

### Odpověď · 200

`id` string povinné

`assetId` string povinné

`kind` string povinné

`disposedOn` string povinné date

`partCostHaler` integer povinné

`partTaxPriceHaler` integer povinné

`accountingAccumulatedHaler` integer povinné

`accountingResidualHaler` integer povinné

`taxDepreciationHaler` integer povinné

`taxResidualHaler` integer povinné

`taxDeductibleHaler` integer povinné

`saleHaler` integer povinné

`saleVatHaler` integer povinné

`compensationHaler` integer povinné

`toShareNumerator` integer | null povinné

`toShareDenominator` integer | null povinné

`journalEntryId` null | string povinné

`status` string povinné

`note` string | null povinné

```bash
curl -X POST https://api.damedoklad.cz/v1/asset-partial-disposals/ast_2n9F4kT7wQ1xYz0aBcDeFgHiJkL/reverse \
  -H "Authorization: Bearer $DAMEDOKLAD_API_KEY"
```

```javascript
const response = await fetch('https://api.damedoklad.cz/v1/asset-partial-disposals/ast_2n9F4kT7wQ1xYz0aBcDeFgHiJkL/reverse', {
  method: 'POST',
  headers: {
    Authorization: `Bearer ${process.env.DAMEDOKLAD_API_KEY}`,
  },
});
const data = await response.json();
```

```python
import os
import requests

response = requests.post(
    "https://api.damedoklad.cz/v1/asset-partial-disposals/ast_2n9F4kT7wQ1xYz0aBcDeFgHiJkL/reverse",
    headers={"Authorization": f"Bearer {os.environ['DAMEDOKLAD_API_KEY']}"},
)
data = response.json()
```

## Reverse the latest entry price change of an asset, with a storno of its entry if it posted one

POST `/v1/asset-price-changes/{id}/reverse`

Reverse the latest entry price change of an asset, with a storno of its entry if it posted one

Nevratná operaceTato operace se nedá vrátit. MCP klienti se před ní ptají na potvrzení.

Nástroj MCP: `reverse-asset-price-change`

### Parametry v cestě

`id` string povinné

### Odpověď · 200

`id` string povinné

`assetId` string povinné

`changedOn` string povinné date

`amountHaler` integer povinné

`reason` string povinné

`accountingAmountHaler` integer povinné

`journalEntryId` null | string povinné

`status` string povinné

`note` null | string povinné

`createdAt` string povinné date-time

```bash
curl -X POST https://api.damedoklad.cz/v1/asset-price-changes/ast_2n9F4kT7wQ1xYz0aBcDeFgHiJkL/reverse \
  -H "Authorization: Bearer $DAMEDOKLAD_API_KEY"
```

```javascript
const response = await fetch('https://api.damedoklad.cz/v1/asset-price-changes/ast_2n9F4kT7wQ1xYz0aBcDeFgHiJkL/reverse', {
  method: 'POST',
  headers: {
    Authorization: `Bearer ${process.env.DAMEDOKLAD_API_KEY}`,
  },
});
const data = await response.json();
```

```python
import os
import requests

response = requests.post(
    "https://api.damedoklad.cz/v1/asset-price-changes/ast_2n9F4kT7wQ1xYz0aBcDeFgHiJkL/reverse",
    headers={"Authorization": f"Bearer {os.environ['DAMEDOKLAD_API_KEY']}"},
)
data = response.json()
```

## Depreciation plan of all assets for a year: accounting by month next to tax for the year

GET `/v1/asset-reports/depreciation-plan`

Depreciation plan of all assets for a year: accounting by month next to tax for the year

Nástroj MCP: `get-asset-depreciation-plan`

### Parametry dotazu

`year` integer povinné min 1990 max 2100

### Odpověď · 200

`year` integer povinné

`rows` object\[\] povinné

`assetId` null | string povinné

`inventoryNumber` null | string povinné

`name` null | string povinné

`months` integer\[\] povinné

`accountingHaler` integer povinné

`taxHaler` integer povinné

`taxDeductibleHaler` integer povinné

```bash
curl https://api.damedoklad.cz/v1/asset-reports/depreciation-plan \
  -H "Authorization: Bearer $DAMEDOKLAD_API_KEY"
```

```javascript
const response = await fetch('https://api.damedoklad.cz/v1/asset-reports/depreciation-plan', {
  headers: {
    Authorization: `Bearer ${process.env.DAMEDOKLAD_API_KEY}`,
  },
});
const data = await response.json();
```

```python
import os
import requests

response = requests.get(
    "https://api.damedoklad.cz/v1/asset-reports/depreciation-plan",
    headers={"Authorization": f"Bearer {os.environ['DAMEDOKLAD_API_KEY']}"},
)
data = response.json()
```

## Detail: sklad, majetek

GET `/v1/asset-reports/inventory`

Inventory list of fixed assets with cost, accumulated depreciation, book value, and tax residual, optionally as of a date

Nástroj MCP: `get-asset-inventory`

### Parametry dotazu

`asOf` string YYYY-MM-DD

Date as YYYY-MM-DD.

`lang` "cs" | "en"

### Odpověď · 200

`asOf` null | string povinné date

`rows` object\[\] povinné

`assetId` null | string povinné

`inventoryNumber` null | string povinné

`name` null | string povinné

`category` null | string povinné

`placedOn` null | string povinné date

`location` null | string povinné

`responsiblePerson` null | string povinné

`assetAccount` string povinné

`costHaler` integer povinné

`accumulatedHaler` integer povinné

`bookValueHaler` integer povinné

`taxResidualHaler` integer povinné

`totals` object povinné

`costHaler` integer povinné

`accumulatedHaler` integer povinné

`bookValueHaler` integer povinné

`taxResidualHaler` integer povinné

```bash
curl https://api.damedoklad.cz/v1/asset-reports/inventory \
  -H "Authorization: Bearer $DAMEDOKLAD_API_KEY"
```

```javascript
const response = await fetch('https://api.damedoklad.cz/v1/asset-reports/inventory', {
  headers: {
    Authorization: `Bearer ${process.env.DAMEDOKLAD_API_KEY}`,
  },
});
const data = await response.json();
```

```python
import os
import requests

response = requests.get(
    "https://api.damedoklad.cz/v1/asset-reports/inventory",
    headers={"Authorization": f"Bearer {os.environ['DAMEDOKLAD_API_KEY']}"},
)
data = response.json()
```

## Download the inventory list as CSV for a stocktake

GET `/v1/asset-reports/inventory.csv`

Download the inventory list as CSV for a stocktake

Nástroj MCP: `export-asset-inventory-csv`

### Parametry dotazu

`asOf` string YYYY-MM-DD

Date as YYYY-MM-DD.

`lang` "cs" | "en"

### Odpověď · 200

Vrací soubor text/csv; charset=utf-8.

```bash
curl https://api.damedoklad.cz/v1/asset-reports/inventory.csv \
  -H "Authorization: Bearer $DAMEDOKLAD_API_KEY" \
  -o soubor
```

```javascript
const response = await fetch('https://api.damedoklad.cz/v1/asset-reports/inventory.csv', {
  headers: {
    Authorization: `Bearer ${process.env.DAMEDOKLAD_API_KEY}`,
  },
});
const file = await response.arrayBuffer();
```

```python
import os
import requests

response = requests.get(
    "https://api.damedoklad.cz/v1/asset-reports/inventory.csv",
    headers={"Authorization": f"Bearer {os.environ['DAMEDOKLAD_API_KEY']}"},
)
content = response.content
```

## Export: PDF, sklad, majetek

GET `/v1/asset-reports/inventory.pdf`

Download the inventory list of fixed assets as a PDF, optionally as of a date

Nástroj MCP: `export-asset-inventory-pdf`

### Parametry dotazu

`asOf` string YYYY-MM-DD

Date as YYYY-MM-DD.

`lang` "cs" | "en"

### Odpověď · 200

Vrací soubor application/pdf.

```bash
curl https://api.damedoklad.cz/v1/asset-reports/inventory.pdf \
  -H "Authorization: Bearer $DAMEDOKLAD_API_KEY" \
  -o soubor
```

```javascript
const response = await fetch('https://api.damedoklad.cz/v1/asset-reports/inventory.pdf', {
  headers: {
    Authorization: `Bearer ${process.env.DAMEDOKLAD_API_KEY}`,
  },
});
const file = await response.arrayBuffer();
```

```python
import os
import requests

response = requests.get(
    "https://api.damedoklad.cz/v1/asset-reports/inventory.pdf",
    headers={"Authorization": f"Bearer {os.environ['DAMEDOKLAD_API_KEY']}"},
)
content = response.content
```

## Tax vs accounting difference per asset for a year; adjustmentHaler positive raises the income tax base

GET `/v1/asset-reports/tax-difference`

Tax vs accounting difference per asset for a year; adjustmentHaler positive raises the income tax base

Nástroj MCP: `get-asset-tax-difference`

### Parametry dotazu

`year` integer povinné min 1990 max 2100

### Odpověď · 200

`year` integer povinné

`rows` object\[\] povinné

`assetId` null | string povinné

`inventoryNumber` null | string povinné

`name` null | string povinné

`accountingDepreciationHaler` integer povinné

`accountingNotPostedHaler` integer povinné

`taxDepreciationHaler` integer povinné

`taxDeductibleHaler` integer povinné

`accountingResidualHaler` integer povinné

`taxResidualHaler` integer povinné

`taxResidualDeductibleHaler` integer povinné

`accountingCostHaler` integer povinné

`taxCostHaler` integer povinné

`adjustmentHaler` integer povinné

`totals` object povinné

`accountingDepreciationHaler` integer povinné

`accountingNotPostedHaler` integer povinné

`taxDepreciationHaler` integer povinné

`taxDeductibleHaler` integer povinné

`accountingResidualHaler` integer povinné

`taxResidualHaler` integer povinné

`taxResidualDeductibleHaler` integer povinné

`adjustmentHaler` integer povinné

`leaseAdjustmentHaler` integer povinné

`leases` object\[\] povinné

`leaseId` null | string povinné

`name` null | string povinné

`isM1` boolean povinné

`status` string povinné

`expenseHaler` integer povinné

`deductibleHaler` integer povinné

`adjustmentHaler` integer povinné

```bash
curl https://api.damedoklad.cz/v1/asset-reports/tax-difference \
  -H "Authorization: Bearer $DAMEDOKLAD_API_KEY"
```

```javascript
const response = await fetch('https://api.damedoklad.cz/v1/asset-reports/tax-difference', {
  headers: {
    Authorization: `Bearer ${process.env.DAMEDOKLAD_API_KEY}`,
  },
});
const data = await response.json();
```

```python
import os
import requests

response = requests.get(
    "https://api.damedoklad.cz/v1/asset-reports/tax-difference",
    headers={"Authorization": f"Bearer {os.environ['DAMEDOKLAD_API_KEY']}"},
)
data = response.json()
```

## Seznam: inventura, majetek

GET `/v1/asset-stocktakes`

List physical stocktakes of assets (fyzická inventura)

Nástroj MCP: `list-asset-stocktakes`

### Parametry dotazu

`limit` integer min 1 max 500

`offset` integer min 0 max 9007199254740991

`search` string max 200 chars

### Odpověď · 200

`data` any\[\] povinné

`total` integer

Rows that match, on all pages.

`hasMore` boolean povinné

More rows follow. Ask again with offset + the number of rows received.

```bash
curl https://api.damedoklad.cz/v1/asset-stocktakes \
  -H "Authorization: Bearer $DAMEDOKLAD_API_KEY"
```

```javascript
const response = await fetch('https://api.damedoklad.cz/v1/asset-stocktakes', {
  headers: {
    Authorization: `Bearer ${process.env.DAMEDOKLAD_API_KEY}`,
  },
});
const data = await response.json();
```

```python
import os
import requests

response = requests.get(
    "https://api.damedoklad.cz/v1/asset-stocktakes",
    headers={"Authorization": f"Bearer {os.environ['DAMEDOKLAD_API_KEY']}"},
)
data = response.json()
```

## Vytvoření: inventura, majetek

POST `/v1/asset-stocktakes`

Start a physical stocktake: snapshots fixed and small assets in use on the date, optionally for one location. Each part of a set of movable assets gets its own line under its card

Nástroj MCP: `create-asset-stocktake`

### Tělo požadavku

`name` string max 200 chars

`asOf` string povinné YYYY-MM-DD

Date as YYYY-MM-DD.

`location` string max 500 chars

`countedBy` string max 500 chars

`responsibleBy` string max 500 chars

`method` string max 500 chars

`startedAt` string YYYY-MM-DD

`note` string max 2000 chars

### Odpověď · 201

`id` string povinné

`number` string povinné

`name` string povinné

`asOf` string povinné date

`location` null | string povinné

`countedBy` null | string povinné

`responsibleBy` null | string povinné

`method` string povinné

`startedAt` null | string povinné date

`status` string povinné

`closedOn` null | string povinné date

`note` string | null povinné

`summary` null | object

`total` integer povinné

`counted` integer povinné

`uncounted` integer povinné

`shortage` integer povinné

`surplus` integer povinné

`moved` integer povinné

`shortageBookValueHaler` integer povinné

`surplusValueHaler` integer povinné

`unresolved` integer povinné

`lines` object\[\]

`object` "asset\_stocktake\_line" povinné

`id` string povinné

`stocktakeId` string povinné

`kind` string povinné

`assetId` null | string povinné

`smallAssetId` null | string povinné

`inventoryNumber` null | string povinné

`name` string povinné

`expectedLocation` null | string povinné

`expectedResponsible` string | null povinné

`account` null | string povinné

`costHaler` integer povinné

`bookValueHaler` integer povinné

`expectedQuantityMilli` integer povinné

`foundQuantityMilli` integer | null povinné

`foundLocation` null | string povinné

`estimatedValueHaler` integer povinné

`note` null | string povinné

`resolution` null | string povinné

`resolvedAssetId` null | string povinné

`difference` null | string povinné

`setItemId` null | string

```bash
curl -X POST https://api.damedoklad.cz/v1/asset-stocktakes \
  -H "Authorization: Bearer $DAMEDOKLAD_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
  "asOf": "2026-10-30"
}'
```

```javascript
const response = await fetch('https://api.damedoklad.cz/v1/asset-stocktakes', {
  method: 'POST',
  headers: {
    Authorization: `Bearer ${process.env.DAMEDOKLAD_API_KEY}`,
    'Content-Type': 'application/json',
  },
  body: JSON.stringify({
    "asOf": "2026-10-30"
  }),
});
const data = await response.json();
```

```python
import os
import requests

response = requests.post(
    "https://api.damedoklad.cz/v1/asset-stocktakes",
    headers={"Authorization": f"Bearer {os.environ['DAMEDOKLAD_API_KEY']}"},
    json={
        "asOf": "2026-10-30"
    },
)
data = response.json()
```

## Detail: inventura, majetek

GET `/v1/asset-stocktakes/{id}`

Get a stocktake with its count lines, differences, and summary

Nástroj MCP: `get-asset-stocktake`

### Parametry v cestě

`id` string povinné

### Odpověď · 200

`id` string povinné

`number` string povinné

`name` string povinné

`asOf` string povinné date

`location` null | string povinné

`countedBy` null | string povinné

`responsibleBy` null | string povinné

`method` string povinné

`startedAt` null | string povinné date

`status` string povinné

`closedOn` null | string povinné date

`note` string | null povinné

`summary` null | object

`total` integer povinné

`counted` integer povinné

`uncounted` integer povinné

`shortage` integer povinné

`surplus` integer povinné

`moved` integer povinné

`shortageBookValueHaler` integer povinné

`surplusValueHaler` integer povinné

`unresolved` integer povinné

`lines` object\[\]

`object` "asset\_stocktake\_line" povinné

`id` string povinné

`stocktakeId` string povinné

`kind` string povinné

`assetId` null | string povinné

`smallAssetId` null | string povinné

`inventoryNumber` null | string povinné

`name` string povinné

`expectedLocation` null | string povinné

`expectedResponsible` string | null povinné

`account` null | string povinné

`costHaler` integer povinné

`bookValueHaler` integer povinné

`expectedQuantityMilli` integer povinné

`foundQuantityMilli` integer | null povinné

`foundLocation` null | string povinné

`estimatedValueHaler` integer povinné

`note` null | string povinné

`resolution` null | string povinné

`resolvedAssetId` null | string povinné

`difference` null | string povinné

`setItemId` null | string

```bash
curl https://api.damedoklad.cz/v1/asset-stocktakes/ast_2n9F4kT7wQ1xYz0aBcDeFgHiJkL \
  -H "Authorization: Bearer $DAMEDOKLAD_API_KEY"
```

```javascript
const response = await fetch('https://api.damedoklad.cz/v1/asset-stocktakes/ast_2n9F4kT7wQ1xYz0aBcDeFgHiJkL', {
  headers: {
    Authorization: `Bearer ${process.env.DAMEDOKLAD_API_KEY}`,
  },
});
const data = await response.json();
```

```python
import os
import requests

response = requests.get(
    "https://api.damedoklad.cz/v1/asset-stocktakes/ast_2n9F4kT7wQ1xYz0aBcDeFgHiJkL",
    headers={"Authorization": f"Bearer {os.environ['DAMEDOKLAD_API_KEY']}"},
)
data = response.json()
```

## Úprava: inventura, majetek

PATCH `/v1/asset-stocktakes/{id}`

Update who counted a stocktake, who is responsible, and how it was done

Nástroj MCP: `update-asset-stocktake`

### Parametry v cestě

`id` string povinné

### Tělo požadavku

`name` string max 200 chars

`countedBy` string max 500 chars

`responsibleBy` string max 500 chars

`method` string max 500 chars

`startedAt` string YYYY-MM-DD

`note` string max 2000 chars

### Odpověď · 200

`id` string povinné

`number` string povinné

`name` string povinné

`asOf` string povinné date

`location` null | string povinné

`countedBy` null | string povinné

`responsibleBy` null | string povinné

`method` string povinné

`startedAt` null | string povinné date

`status` string povinné

`closedOn` null | string povinné date

`note` string | null povinné

`summary` null | object

`total` integer povinné

`counted` integer povinné

`uncounted` integer povinné

`shortage` integer povinné

`surplus` integer povinné

`moved` integer povinné

`shortageBookValueHaler` integer povinné

`surplusValueHaler` integer povinné

`unresolved` integer povinné

`lines` object\[\]

`object` "asset\_stocktake\_line" povinné

`id` string povinné

`stocktakeId` string povinné

`kind` string povinné

`assetId` null | string povinné

`smallAssetId` null | string povinné

`inventoryNumber` null | string povinné

`name` string povinné

`expectedLocation` null | string povinné

`expectedResponsible` string | null povinné

`account` null | string povinné

`costHaler` integer povinné

`bookValueHaler` integer povinné

`expectedQuantityMilli` integer povinné

`foundQuantityMilli` integer | null povinné

`foundLocation` null | string povinné

`estimatedValueHaler` integer povinné

`note` null | string povinné

`resolution` null | string povinné

`resolvedAssetId` null | string povinné

`difference` null | string povinné

`setItemId` null | string

```bash
curl -X PATCH https://api.damedoklad.cz/v1/asset-stocktakes/ast_2n9F4kT7wQ1xYz0aBcDeFgHiJkL \
  -H "Authorization: Bearer $DAMEDOKLAD_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
  "name": "Pekárna U Lípy s.r.o.",
  "countedBy": "string",
  "responsibleBy": "string"
}'
```

```javascript
const response = await fetch('https://api.damedoklad.cz/v1/asset-stocktakes/ast_2n9F4kT7wQ1xYz0aBcDeFgHiJkL', {
  method: 'PATCH',
  headers: {
    Authorization: `Bearer ${process.env.DAMEDOKLAD_API_KEY}`,
    'Content-Type': 'application/json',
  },
  body: JSON.stringify({
    "name": "Pekárna U Lípy s.r.o.",
    "countedBy": "string",
    "responsibleBy": "string"
  }),
});
const data = await response.json();
```

```python
import os
import requests

response = requests.patch(
    "https://api.damedoklad.cz/v1/asset-stocktakes/ast_2n9F4kT7wQ1xYz0aBcDeFgHiJkL",
    headers={"Authorization": f"Bearer {os.environ['DAMEDOKLAD_API_KEY']}"},
    json={
        "name": "Pekárna U Lípy s.r.o.",
        "countedBy": "string",
        "responsibleBy": "string"
    },
)
data = response.json()
```

## Smazání: inventura, majetek

DELETE `/v1/asset-stocktakes/{id}`

Delete a stocktake that is still open and has no resolved differences

Nevratná operaceTato operace se nedá vrátit. MCP klienti se před ní ptají na potvrzení.

Nástroj MCP: `delete-asset-stocktake`

### Parametry v cestě

`id` string povinné

### Odpověď · 200

`id` string povinné

`deleted` boolean povinné

```bash
curl -X DELETE https://api.damedoklad.cz/v1/asset-stocktakes/ast_2n9F4kT7wQ1xYz0aBcDeFgHiJkL \
  -H "Authorization: Bearer $DAMEDOKLAD_API_KEY"
```

```javascript
const response = await fetch('https://api.damedoklad.cz/v1/asset-stocktakes/ast_2n9F4kT7wQ1xYz0aBcDeFgHiJkL', {
  method: 'DELETE',
  headers: {
    Authorization: `Bearer ${process.env.DAMEDOKLAD_API_KEY}`,
  },
});
const data = await response.json();
```

```python
import os
import requests

response = requests.delete(
    "https://api.damedoklad.cz/v1/asset-stocktakes/ast_2n9F4kT7wQ1xYz0aBcDeFgHiJkL",
    headers={"Authorization": f"Bearer {os.environ['DAMEDOKLAD_API_KEY']}"},
)
data = response.json()
```

## Uzavření: inventura, majetek

POST `/v1/asset-stocktakes/{id}/close`

Close a stocktake once every line is counted; assets found elsewhere are moved unless applyMoves is false

Nástroj MCP: `close-asset-stocktake`

### Parametry v cestě

`id` string povinné

### Tělo požadavku

`date` string povinné YYYY-MM-DD

Date as YYYY-MM-DD.

`applyMoves` boolean

### Odpověď · 200

`id` string povinné

`number` string povinné

`name` string povinné

`asOf` string povinné date

`location` null | string povinné

`countedBy` null | string povinné

`responsibleBy` null | string povinné

`method` string povinné

`startedAt` null | string povinné date

`status` string povinné

`closedOn` null | string povinné date

`note` string | null povinné

`summary` null | object

`total` integer povinné

`counted` integer povinné

`uncounted` integer povinné

`shortage` integer povinné

`surplus` integer povinné

`moved` integer povinné

`shortageBookValueHaler` integer povinné

`surplusValueHaler` integer povinné

`unresolved` integer povinné

`lines` object\[\]

`object` "asset\_stocktake\_line" povinné

`id` string povinné

`stocktakeId` string povinné

`kind` string povinné

`assetId` null | string povinné

`smallAssetId` null | string povinné

`inventoryNumber` null | string povinné

`name` string povinné

`expectedLocation` null | string povinné

`expectedResponsible` string | null povinné

`account` null | string povinné

`costHaler` integer povinné

`bookValueHaler` integer povinné

`expectedQuantityMilli` integer povinné

`foundQuantityMilli` integer | null povinné

`foundLocation` null | string povinné

`estimatedValueHaler` integer povinné

`note` null | string povinné

`resolution` null | string povinné

`resolvedAssetId` null | string povinné

`difference` null | string povinné

`setItemId` null | string

```bash
curl -X POST https://api.damedoklad.cz/v1/asset-stocktakes/ast_2n9F4kT7wQ1xYz0aBcDeFgHiJkL/close \
  -H "Authorization: Bearer $DAMEDOKLAD_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
  "date": "2026-10-30"
}'
```

```javascript
const response = await fetch('https://api.damedoklad.cz/v1/asset-stocktakes/ast_2n9F4kT7wQ1xYz0aBcDeFgHiJkL/close', {
  method: 'POST',
  headers: {
    Authorization: `Bearer ${process.env.DAMEDOKLAD_API_KEY}`,
    'Content-Type': 'application/json',
  },
  body: JSON.stringify({
    "date": "2026-10-30"
  }),
});
const data = await response.json();
```

```python
import os
import requests

response = requests.post(
    "https://api.damedoklad.cz/v1/asset-stocktakes/ast_2n9F4kT7wQ1xYz0aBcDeFgHiJkL/close",
    headers={"Authorization": f"Bearer {os.environ['DAMEDOKLAD_API_KEY']}"},
    json={
        "date": "2026-10-30"
    },
)
data = response.json()
```

## Mark every uncounted line of a stocktake as found in full at its expected location

POST `/v1/asset-stocktakes/{id}/count-all`

Mark every uncounted line of a stocktake as found in full at its expected location

Nástroj MCP: `count-all-asset-stocktake-lines`

### Parametry v cestě

`id` string povinné

### Odpověď · 200

`id` string povinné

`number` string povinné

`name` string povinné

`asOf` string povinné date

`location` null | string povinné

`countedBy` null | string povinné

`responsibleBy` null | string povinné

`method` string povinné

`startedAt` null | string povinné date

`status` string povinné

`closedOn` null | string povinné date

`note` string | null povinné

`summary` null | object

`total` integer povinné

`counted` integer povinné

`uncounted` integer povinné

`shortage` integer povinné

`surplus` integer povinné

`moved` integer povinné

`shortageBookValueHaler` integer povinné

`surplusValueHaler` integer povinné

`unresolved` integer povinné

`lines` object\[\]

`object` "asset\_stocktake\_line" povinné

`id` string povinné

`stocktakeId` string povinné

`kind` string povinné

`assetId` null | string povinné

`smallAssetId` null | string povinné

`inventoryNumber` null | string povinné

`name` string povinné

`expectedLocation` null | string povinné

`expectedResponsible` string | null povinné

`account` null | string povinné

`costHaler` integer povinné

`bookValueHaler` integer povinné

`expectedQuantityMilli` integer povinné

`foundQuantityMilli` integer | null povinné

`foundLocation` null | string povinné

`estimatedValueHaler` integer povinné

`note` null | string povinné

`resolution` null | string povinné

`resolvedAssetId` null | string povinné

`difference` null | string povinné

`setItemId` null | string

```bash
curl -X POST https://api.damedoklad.cz/v1/asset-stocktakes/ast_2n9F4kT7wQ1xYz0aBcDeFgHiJkL/count-all \
  -H "Authorization: Bearer $DAMEDOKLAD_API_KEY"
```

```javascript
const response = await fetch('https://api.damedoklad.cz/v1/asset-stocktakes/ast_2n9F4kT7wQ1xYz0aBcDeFgHiJkL/count-all', {
  method: 'POST',
  headers: {
    Authorization: `Bearer ${process.env.DAMEDOKLAD_API_KEY}`,
  },
});
const data = await response.json();
```

```python
import os
import requests

response = requests.post(
    "https://api.damedoklad.cz/v1/asset-stocktakes/ast_2n9F4kT7wQ1xYz0aBcDeFgHiJkL/count-all",
    headers={"Authorization": f"Bearer {os.environ['DAMEDOKLAD_API_KEY']}"},
)
data = response.json()
```

## Download the count sheet of a stocktake to fill in on site

GET `/v1/asset-stocktakes/{id}/count-sheet.pdf`

Download the count sheet of a stocktake to fill in on site

Nástroj MCP: `export-asset-stocktake-count-sheet`

### Parametry v cestě

`id` string povinné

### Parametry dotazu

`lang` "cs" | "en"

### Odpověď · 200

Vrací soubor application/pdf.

```bash
curl https://api.damedoklad.cz/v1/asset-stocktakes/ast_2n9F4kT7wQ1xYz0aBcDeFgHiJkL/count-sheet.pdf \
  -H "Authorization: Bearer $DAMEDOKLAD_API_KEY" \
  -o soubor
```

```javascript
const response = await fetch('https://api.damedoklad.cz/v1/asset-stocktakes/ast_2n9F4kT7wQ1xYz0aBcDeFgHiJkL/count-sheet.pdf', {
  headers: {
    Authorization: `Bearer ${process.env.DAMEDOKLAD_API_KEY}`,
  },
});
const file = await response.arrayBuffer();
```

```python
import os
import requests

response = requests.get(
    "https://api.damedoklad.cz/v1/asset-stocktakes/ast_2n9F4kT7wQ1xYz0aBcDeFgHiJkL/count-sheet.pdf",
    headers={"Authorization": f"Bearer {os.environ['DAMEDOKLAD_API_KEY']}"},
)
content = response.content
```

## Record what was found for one line of a stocktake: quantity, location, and a note

PATCH `/v1/asset-stocktakes/{id}/lines/{lineId}`

Record what was found for one line of a stocktake: quantity, location, and a note

Nástroj MCP: `count-asset-stocktake-line`

### Parametry v cestě

`id` string povinné

`lineId` string povinné

ID of the line.

### Tělo požadavku

`foundQuantityMilli` integer | null

Integer thousandths: 1500 means 1.5.

`foundLocation` string | null

`note` string | null

### Odpověď · 200

`id` string povinné

`stocktakeId` string povinné

`kind` string povinné

`assetId` null | string povinné

`smallAssetId` null | string povinné

`inventoryNumber` null | string povinné

`name` string povinné

`expectedLocation` null | string povinné

`expectedResponsible` string | null povinné

`account` null | string povinné

`costHaler` integer povinné

`bookValueHaler` integer povinné

`expectedQuantityMilli` integer povinné

`foundQuantityMilli` integer | null povinné

`foundLocation` null | string povinné

`estimatedValueHaler` integer povinné

`note` null | string povinné

`resolution` null | string povinné

`resolvedAssetId` null | string povinné

`difference` null | string povinné

`setItemId` null | string

```bash
curl -X PATCH https://api.damedoklad.cz/v1/asset-stocktakes/ast_2n9F4kT7wQ1xYz0aBcDeFgHiJkL/lines/obj_2n9F4kT7wQ1xYz0aBcDeFgHiJkL \
  -H "Authorization: Bearer $DAMEDOKLAD_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
  "foundQuantityMilli": 1000,
  "foundLocation": "string",
  "note": "string"
}'
```

```javascript
const response = await fetch('https://api.damedoklad.cz/v1/asset-stocktakes/ast_2n9F4kT7wQ1xYz0aBcDeFgHiJkL/lines/obj_2n9F4kT7wQ1xYz0aBcDeFgHiJkL', {
  method: 'PATCH',
  headers: {
    Authorization: `Bearer ${process.env.DAMEDOKLAD_API_KEY}`,
    'Content-Type': 'application/json',
  },
  body: JSON.stringify({
    "foundQuantityMilli": 1000,
    "foundLocation": "string",
    "note": "string"
  }),
});
const data = await response.json();
```

```python
import os
import requests

response = requests.patch(
    "https://api.damedoklad.cz/v1/asset-stocktakes/ast_2n9F4kT7wQ1xYz0aBcDeFgHiJkL/lines/obj_2n9F4kT7wQ1xYz0aBcDeFgHiJkL",
    headers={"Authorization": f"Bearer {os.environ['DAMEDOKLAD_API_KEY']}"},
    json={
        "foundQuantityMilli": 1000,
        "foundLocation": "string",
        "note": "string"
    },
)
data = response.json()
```

## Settle a stocktake difference: a shortage of a fixed asset is disposed (MD 549), a missing part of a set leaves the set, a surplus becomes a new asset (MD 02x / D 648)

POST `/v1/asset-stocktakes/{id}/lines/{lineId}/resolve`

Settle a stocktake difference: a shortage of a fixed asset is disposed (MD 549), a missing part of a set leaves the set, a surplus becomes a new asset (MD 02x / D 648). A surplus is valued at reprodukční pořizovací cena (ČÚS 013 bod 3.2) and credited to revenue, so it can be depreciated (§ 27 písm. g) ZDP). A shortage of a small asset leaves the register and posts nothing. A missing part of a set leaves the list of the set and posts nothing either: the card keeps its price until a partial disposal says otherwise. Differences belong to the audited period (§ 30 odst. 11 zákona o účetnictví).

Nevratná operaceTato operace se nedá vrátit. MCP klienti se před ní ptají na potvrzení.

Nástroj MCP: `resolve-asset-stocktake-line`

### Parametry v cestě

`id` string povinné

`lineId` string povinné

ID of the line.

### Tělo požadavku

`action` "dispose" | "record" povinné

`date` string povinné YYYY-MM-DD

Date as YYYY-MM-DD.

`compensationHaler` integer min 0 max 9007199254740991

Integer amount in haléře: 100 = 1 Kč.

`taxGroup` integer min 1 max 6

`assetAccount` string

`note` string max 2000 chars

### Odpověď · 200

`id` string povinné

`stocktakeId` string povinné

`kind` string povinné

`assetId` null | string povinné

`smallAssetId` null | string povinné

`inventoryNumber` null | string povinné

`name` string povinné

`expectedLocation` null | string povinné

`expectedResponsible` string | null povinné

`account` null | string povinné

`costHaler` integer povinné

`bookValueHaler` integer povinné

`expectedQuantityMilli` integer povinné

`foundQuantityMilli` integer | null povinné

`foundLocation` null | string povinné

`estimatedValueHaler` integer povinné

`note` null | string povinné

`resolution` null | string povinné

`resolvedAssetId` null | string povinné

`difference` null | string povinné

`setItemId` null | string

```bash
curl -X POST https://api.damedoklad.cz/v1/asset-stocktakes/ast_2n9F4kT7wQ1xYz0aBcDeFgHiJkL/lines/obj_2n9F4kT7wQ1xYz0aBcDeFgHiJkL/resolve \
  -H "Authorization: Bearer $DAMEDOKLAD_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
  "action": "dispose",
  "date": "2026-10-30"
}'
```

```javascript
const response = await fetch('https://api.damedoklad.cz/v1/asset-stocktakes/ast_2n9F4kT7wQ1xYz0aBcDeFgHiJkL/lines/obj_2n9F4kT7wQ1xYz0aBcDeFgHiJkL/resolve', {
  method: 'POST',
  headers: {
    Authorization: `Bearer ${process.env.DAMEDOKLAD_API_KEY}`,
    'Content-Type': 'application/json',
  },
  body: JSON.stringify({
    "action": "dispose",
    "date": "2026-10-30"
  }),
});
const data = await response.json();
```

```python
import os
import requests

response = requests.post(
    "https://api.damedoklad.cz/v1/asset-stocktakes/ast_2n9F4kT7wQ1xYz0aBcDeFgHiJkL/lines/obj_2n9F4kT7wQ1xYz0aBcDeFgHiJkL/resolve",
    headers={"Authorization": f"Bearer {os.environ['DAMEDOKLAD_API_KEY']}"},
    json={
        "action": "dispose",
        "date": "2026-10-30"
    },
)
data = response.json()
```

## Download the inventurní soupis with found quantities and differences (§ 30 odst. 7 zákona o účetnictví)

GET `/v1/asset-stocktakes/{id}/result.pdf`

Download the inventurní soupis with found quantities and differences (§ 30 odst. 7 zákona o účetnictví)

Nástroj MCP: `export-asset-stocktake-result`

### Parametry v cestě

`id` string povinné

### Parametry dotazu

`lang` "cs" | "en"

### Odpověď · 200

Vrací soubor application/pdf.

```bash
curl https://api.damedoklad.cz/v1/asset-stocktakes/ast_2n9F4kT7wQ1xYz0aBcDeFgHiJkL/result.pdf \
  -H "Authorization: Bearer $DAMEDOKLAD_API_KEY" \
  -o soubor
```

```javascript
const response = await fetch('https://api.damedoklad.cz/v1/asset-stocktakes/ast_2n9F4kT7wQ1xYz0aBcDeFgHiJkL/result.pdf', {
  headers: {
    Authorization: `Bearer ${process.env.DAMEDOKLAD_API_KEY}`,
  },
});
const file = await response.arrayBuffer();
```

```python
import os
import requests

response = requests.get(
    "https://api.damedoklad.cz/v1/asset-stocktakes/ast_2n9F4kT7wQ1xYz0aBcDeFgHiJkL/result.pdf",
    headers={"Authorization": f"Bearer {os.environ['DAMEDOKLAD_API_KEY']}"},
)
content = response.content
```

## Add an asset found on site that is not on the books (inventarizační přebytek)

POST `/v1/asset-stocktakes/{id}/surpluses`

Add an asset found on site that is not on the books (inventarizační přebytek)

Nástroj MCP: `add-asset-stocktake-surplus`

### Parametry v cestě

`id` string povinné

### Tělo požadavku

`name` string povinné max 200 chars

`foundLocation` string max 500 chars

`estimatedValueHaler` integer min 0 max 9007199254740991

Integer amount in haléře: 100 = 1 Kč.

`note` string max 2000 chars

### Odpověď · 201

`id` string povinné

`stocktakeId` string povinné

`kind` string povinné

`assetId` null | string povinné

`smallAssetId` null | string povinné

`inventoryNumber` null | string povinné

`name` string povinné

`expectedLocation` null | string povinné

`expectedResponsible` string | null povinné

`account` null | string povinné

`costHaler` integer povinné

`bookValueHaler` integer povinné

`expectedQuantityMilli` integer povinné

`foundQuantityMilli` integer | null povinné

`foundLocation` null | string povinné

`estimatedValueHaler` integer povinné

`note` null | string povinné

`resolution` null | string povinné

`resolvedAssetId` null | string povinné

`difference` null | string povinné

`setItemId` null | string

```bash
curl -X POST https://api.damedoklad.cz/v1/asset-stocktakes/ast_2n9F4kT7wQ1xYz0aBcDeFgHiJkL/surpluses \
  -H "Authorization: Bearer $DAMEDOKLAD_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
  "name": "Pekárna U Lípy s.r.o."
}'
```

```javascript
const response = await fetch('https://api.damedoklad.cz/v1/asset-stocktakes/ast_2n9F4kT7wQ1xYz0aBcDeFgHiJkL/surpluses', {
  method: 'POST',
  headers: {
    Authorization: `Bearer ${process.env.DAMEDOKLAD_API_KEY}`,
    'Content-Type': 'application/json',
  },
  body: JSON.stringify({
    "name": "Pekárna U Lípy s.r.o."
  }),
});
const data = await response.json();
```

```python
import os
import requests

response = requests.post(
    "https://api.damedoklad.cz/v1/asset-stocktakes/ast_2n9F4kT7wQ1xYz0aBcDeFgHiJkL/surpluses",
    headers={"Authorization": f"Bearer {os.environ['DAMEDOKLAD_API_KEY']}"},
    json={
        "name": "Pekárna U Lípy s.r.o."
    },
)
data = response.json()
```

## Asset figures for the income tax return of a year. The tax module reads this

GET `/v1/asset-tax-summary`

Asset figures for the income tax return of a year. The tax module reads this. double\_entry: add adjustmentHaler to the accounting result (positive raises the base); it includes leaseAdjustmentHaler, the part of lease expense booked on 518 that § 30f or § 24 odst. 6 ZDP excludes. tax\_records and single\_entry: disposal residuals are written to the cash book as non\_cash expense\_deductible rows at the disposal date, so never add disposalDeductibleHaler again. When postedToCashBook is true, depreciation and the lease share are there too; when false, the year is not closed and deductibleHaler + leaseDeductibleHaler is still to come.

Nástroj MCP: `get-asset-tax-summary`

### Parametry dotazu

`year` integer povinné min 1990 max 2100

### Odpověď · 200

`year` integer povinné

`regime` string povinné

`taxYearClosed` boolean povinné

`postedToCashBook` boolean povinné

`depreciationHaler` integer povinné

`deductibleHaler` integer povinné

`disposalResidualHaler` integer povinné

`disposalDeductibleHaler` integer povinné

`accountingDepreciationHaler` integer povinné

`accountingNotPostedHaler` integer povinné

`accountingResidualHaler` integer povinné

`adjustmentHaler` integer povinné

`leaseAdjustmentHaler` integer povinné

`leaseExpensePostedHaler` integer povinné

`leaseDeductibleHaler` integer povinné

`assets` integer povinné

```bash
curl https://api.damedoklad.cz/v1/asset-tax-summary \
  -H "Authorization: Bearer $DAMEDOKLAD_API_KEY"
```

```javascript
const response = await fetch('https://api.damedoklad.cz/v1/asset-tax-summary', {
  headers: {
    Authorization: `Bearer ${process.env.DAMEDOKLAD_API_KEY}`,
  },
});
const data = await response.json();
```

```python
import os
import requests

response = requests.get(
    "https://api.damedoklad.cz/v1/asset-tax-summary",
    headers={"Authorization": f"Bearer {os.environ['DAMEDOKLAD_API_KEY']}"},
)
data = response.json()
```

## Yearly tax depreciation worksheet of all assets, with lease expense and whether the year is closed

GET `/v1/asset-tax-years/{year}`

Yearly tax depreciation worksheet of all assets, with lease expense and whether the year is closed

Nástroj MCP: `get-asset-tax-year`

### Parametry v cestě

`year` string povinné

### Odpověď · 200

`year` integer povinné

`regime` string

`status` string povinné

`canClose` boolean

`totalDepreciationHaler` integer

`totalDeductibleHaler` integer

`leaseDeductibleHaler` integer

`rows` object\[\]

`assetId` null | string povinné

`inventoryNumber` null | string povinné

`name` null | string povinné

`method` null | string povinné

`group` integer povinné

`status` string povinné

`ratePct` number povinné

`priceHaler` integer povinné

`depreciationHaler` integer povinné

`deductibleHaler` integer povinné

`accumulatedHaler` integer povinné

`residualHaler` integer povinné

`accountingPostedHaler` integer povinné

`accountingPlannedHaler` integer povinné

`disposed` boolean povinné

`partialDisposals` any\[\] povinné

`leases` object\[\]

`leaseId` null | string povinné

`name` null | string povinné

`year` integer povinné

`expenseHaler` integer povinné

`deductibleHaler` integer povinné

`id` string

`depreciationHaler` integer

`deductibleHaler` integer

`leaseExpenseHaler` integer

```bash
curl https://api.damedoklad.cz/v1/asset-tax-years/obj_2n9F4kT7wQ1xYz0aBcDeFgHiJkL \
  -H "Authorization: Bearer $DAMEDOKLAD_API_KEY"
```

```javascript
const response = await fetch('https://api.damedoklad.cz/v1/asset-tax-years/obj_2n9F4kT7wQ1xYz0aBcDeFgHiJkL', {
  headers: {
    Authorization: `Bearer ${process.env.DAMEDOKLAD_API_KEY}`,
  },
});
const data = await response.json();
```

```python
import os
import requests

response = requests.get(
    "https://api.damedoklad.cz/v1/asset-tax-years/obj_2n9F4kT7wQ1xYz0aBcDeFgHiJkL",
    headers={"Authorization": f"Bearer {os.environ['DAMEDOKLAD_API_KEY']}"},
)
data = response.json()
```

## Daňová evidence: write the year’s tax depreciation and lease expense to the cash book as non-cash deductible rows

POST `/v1/asset-tax-years/{year}/close`

Daňová evidence: write the year’s tax depreciation and lease expense to the cash book as non-cash deductible rows. Guarded: one closed record per year. Rows use moneyAccount non\_cash, so they change the tax base and no cash balance.

Nástroj MCP: `close-asset-tax-year`

### Parametry v cestě

`year` string povinné

### Odpověď · 200

`year` integer povinné

`regime` string

`status` string povinné

`canClose` boolean

`totalDepreciationHaler` integer

`totalDeductibleHaler` integer

`leaseDeductibleHaler` integer

`rows` object\[\]

`assetId` null | string povinné

`inventoryNumber` null | string povinné

`name` null | string povinné

`method` null | string povinné

`group` integer povinné

`status` string povinné

`ratePct` number povinné

`priceHaler` integer povinné

`depreciationHaler` integer povinné

`deductibleHaler` integer povinné

`accumulatedHaler` integer povinné

`residualHaler` integer povinné

`accountingPostedHaler` integer povinné

`accountingPlannedHaler` integer povinné

`disposed` boolean povinné

`partialDisposals` any\[\] povinné

`leases` object\[\]

`leaseId` null | string povinné

`name` null | string povinné

`year` integer povinné

`expenseHaler` integer povinné

`deductibleHaler` integer povinné

`id` string

`depreciationHaler` integer

`deductibleHaler` integer

`leaseExpenseHaler` integer

```bash
curl -X POST https://api.damedoklad.cz/v1/asset-tax-years/obj_2n9F4kT7wQ1xYz0aBcDeFgHiJkL/close \
  -H "Authorization: Bearer $DAMEDOKLAD_API_KEY"
```

```javascript
const response = await fetch('https://api.damedoklad.cz/v1/asset-tax-years/obj_2n9F4kT7wQ1xYz0aBcDeFgHiJkL/close', {
  method: 'POST',
  headers: {
    Authorization: `Bearer ${process.env.DAMEDOKLAD_API_KEY}`,
  },
});
const data = await response.json();
```

```python
import os
import requests

response = requests.post(
    "https://api.damedoklad.cz/v1/asset-tax-years/obj_2n9F4kT7wQ1xYz0aBcDeFgHiJkL/close",
    headers={"Authorization": f"Bearer {os.environ['DAMEDOKLAD_API_KEY']}"},
)
data = response.json()
```

## Reopen a closed tax depreciation year by writing storno rows to the cash book

POST `/v1/asset-tax-years/{year}/reopen`

Reopen a closed tax depreciation year by writing storno rows to the cash book

Nevratná operaceTato operace se nedá vrátit. MCP klienti se před ní ptají na potvrzení.

Nástroj MCP: `reopen-asset-tax-year`

### Parametry v cestě

`year` string povinné

### Odpověď · 200

`year` integer povinné

`regime` string

`status` string povinné

`canClose` boolean

`totalDepreciationHaler` integer

`totalDeductibleHaler` integer

`leaseDeductibleHaler` integer

`rows` object\[\]

`assetId` null | string povinné

`inventoryNumber` null | string povinné

`name` null | string povinné

`method` null | string povinné

`group` integer povinné

`status` string povinné

`ratePct` number povinné

`priceHaler` integer povinné

`depreciationHaler` integer povinné

`deductibleHaler` integer povinné

`accumulatedHaler` integer povinné

`residualHaler` integer povinné

`accountingPostedHaler` integer povinné

`accountingPlannedHaler` integer povinné

`disposed` boolean povinné

`partialDisposals` any\[\] povinné

`leases` object\[\]

`leaseId` null | string povinné

`name` null | string povinné

`year` integer povinné

`expenseHaler` integer povinné

`deductibleHaler` integer povinné

`id` string

`depreciationHaler` integer

`deductibleHaler` integer

`leaseExpenseHaler` integer

```bash
curl -X POST https://api.damedoklad.cz/v1/asset-tax-years/obj_2n9F4kT7wQ1xYz0aBcDeFgHiJkL/reopen \
  -H "Authorization: Bearer $DAMEDOKLAD_API_KEY"
```

```javascript
const response = await fetch('https://api.damedoklad.cz/v1/asset-tax-years/obj_2n9F4kT7wQ1xYz0aBcDeFgHiJkL/reopen', {
  method: 'POST',
  headers: {
    Authorization: `Bearer ${process.env.DAMEDOKLAD_API_KEY}`,
  },
});
const data = await response.json();
```

```python
import os
import requests

response = requests.post(
    "https://api.damedoklad.cz/v1/asset-tax-years/obj_2n9F4kT7wQ1xYz0aBcDeFgHiJkL/reopen",
    headers={"Authorization": f"Bearer {os.environ['DAMEDOKLAD_API_KEY']}"},
)
data = response.json()
```

## Seznam: majetek

GET `/v1/assets`

List fixed assets (dlouhodobý majetek) with inventory numbers, status, cost, and linked accounts

Nástroj MCP: `list-assets`

### Parametry dotazu

`limit` integer min 1 max 500

`offset` integer min 0 max 9007199254740991

`search` string max 200 chars

`from` string YYYY-MM-DD

Date as YYYY-MM-DD.

`to` string YYYY-MM-DD

Date as YYYY-MM-DD.

`status` "in\_progress" | "active" | "disposed"

`category` "dhm" | "dnm" | "land\_art"

### Odpověď · 200

`data` null | object\[\] povinné

`object` "asset" povinné

`id` string povinné

`inventoryNumber` null | string povinné

`name` string povinné

`status` string povinné

`category` null | string povinné

`acquiredOn` null | string povinné date

`placedOn` null | string povinné date

`disposedOn` null | string povinné date

`costHaler` integer povinné

`assetAccount` string povinné

`accumulatedAccount` null | string povinné

`expenseAccount` string povinné

`inProgressAccount` string povinné

`location` null | string povinné

`responsiblePerson` null | string povinné

`physicalDimensions` null | string povinné

`serialNumber` string | null povinné

`note` string | null povinné

`contactId` null | string povinné

`centerId` null | string povinné

`activityId` string | null povinné

`projectId` string | null povinné

`taxMethod` string povinné

`taxGroup` integer | null povinné

`taxVariant` string povinné

`taxEntryPriceHaler` integer | null povinné

`taxStartYear` integer | null povinné

`m1LinkAssetId` null | string povinné

`m1LinkLeaseId` null | string povinné

`firstDepreciator` boolean povinné

`isM1` boolean povinné

`zeroEmission` boolean povinné

`increaseExcluded` boolean povinné

`businessUsePct` integer povinné

`interruptedYears` integer\[\] povinné

`evidenceOnlyYears` integer\[\] povinné

`reducedFlatRateYears` integer\[\] povinné

`rateOverrides` object povinné

`accountingMethod` string povinné

`lifeMonths` integer | null povinné

`residualValueHaler` integer povinné

`totalUnitsMilli` integer | null povinné

`isOpening` boolean povinné

`openingAccumulatedHaler` integer povinné

`openingThroughMonth` null | string povinné

`taxTimeKind` null | string povinné

`taxTimeMonths` integer | null povinné

`taxTimePrecision` string povinné

`taxTimeUnitsMilli` integer | null povinné

`shareNumerator` integer povinné

`shareDenominator` integer povinné

`openingTaxAccumulatedHaler` integer povinné

`openingTaxThroughYear` integer | null povinné

`openingTaxYears` integer | null povinné

`openingTaxDeductibleHaler` integer | null povinné

`openingTaxIncreased` boolean povinné

`createdAt` string povinné date-time

`totalCostHaler` integer

`improvementsHaler` integer

`accumulatedHaler` integer

`bookValueHaler` integer

`improvements` any\[\]

`usage` any\[\]

`partialDisposals` object\[\]

`object` "asset\_partial\_disposal" povinné

`id` string povinné

`assetId` string povinné

`kind` string povinné

`disposedOn` string povinné date

`partCostHaler` integer povinné

`partTaxPriceHaler` integer povinné

`accountingAccumulatedHaler` integer povinné

`accountingResidualHaler` integer povinné

`taxDepreciationHaler` integer povinné

`taxResidualHaler` integer povinné

`taxDeductibleHaler` integer povinné

`saleHaler` integer povinné

`saleVatHaler` integer povinné

`compensationHaler` integer povinné

`toShareNumerator` integer | null povinné

`toShareDenominator` integer | null povinné

`journalEntryId` null | string povinné

`status` string povinné

`note` string | null povinné

`shareChanges` object\[\]

`object` "asset\_share\_change" povinné

`id` string povinné

`assetId` string povinné

`changedOn` string povinné date

`fromNumerator` integer povinné

`fromDenominator` integer povinné

`toNumerator` integer povinné

`toDenominator` integer povinné

`addedPriceHaler` integer povinné

`continuing` boolean povinné

`addedResidualHaler` integer | null povinné

`journalEntryId` null | string povinné

`status` string

`note` string | null povinné

`priceChanges` object\[\]

`object` "asset\_price\_change" povinné

`id` string povinné

`assetId` string povinné

`changedOn` string povinné date

`amountHaler` integer povinné

`reason` string povinné

`accountingAmountHaler` integer povinné

`journalEntryId` null | string povinné

`status` string povinné

`note` null | string povinné

`createdAt` string povinné date-time

`assignments` object\[\]

`object` "asset\_assignment" povinné

`id` string povinné

`assetId` string povinné

`effectiveOn` string povinné date

`location` null | string povinné

`responsiblePerson` null | string povinné

`centerId` null | string povinné

`activityId` string | null povinné

`projectId` string | null povinné

`source` string povinné

`note` null | string povinné

`acquisitionLines` object\[\]

`object` "asset\_acquisition\_line" povinné

`id` string povinné

`assetId` string povinné

`invoiceId` null | string povinné

`lineId` string povinné

`amountHaler` integer povinné

`total` integer

Rows that match, on all pages.

`hasMore` boolean povinné

More rows follow. Ask again with offset + the number of rows received.

```bash
curl https://api.damedoklad.cz/v1/assets \
  -H "Authorization: Bearer $DAMEDOKLAD_API_KEY"
```

```javascript
const response = await fetch('https://api.damedoklad.cz/v1/assets', {
  headers: {
    Authorization: `Bearer ${process.env.DAMEDOKLAD_API_KEY}`,
  },
});
const data = await response.json();
```

```python
import os
import requests

response = requests.get(
    "https://api.damedoklad.cz/v1/assets",
    headers={"Authorization": f"Bearer {os.environ['DAMEDOKLAD_API_KEY']}"},
)
data = response.json()
```

## Vytvoření: majetek

POST `/v1/assets`

Create a fixed asset card; it starts in acquisition until placed in service. Set isOpening with placedOn and opening values for assets already on the books; they post nothing when placed.

Nástroj MCP: `create-asset`

### Tělo požadavku

`name` string povinné max 200 chars

`inventoryNumber` string max 500 chars

`category` "dhm" | "dnm" | "land\_art"

`acquiredOn` string YYYY-MM-DD

Date as YYYY-MM-DD.

`costHaler` integer min 0 max 9007199254740991

Integer amount in haléře: 100 = 1 Kč.

`assetAccount` string

`location` string max 500 chars

`responsiblePerson` string max 500 chars

`physicalDimensions` string max 500 chars

`serialNumber` string max 500 chars

`note` string max 2000 chars

`contactId` string

ID of the contact. Find it with list-contacts.

`centerId` string

ID of the center.

`activityId` string

ID of the activity. Find it with list-activity.

`projectId` string

ID of the project.

`taxMethod` "straight" | "accelerated" | "extraordinary\_ev" | "accounting" | "time\_based" | "none"

`taxGroup` integer min 1 max 6

`taxVariant` "standard" | "plus10" | "plus15" | "plus20"

`taxEntryPriceHaler` integer min 0 max 9007199254740991

Integer amount in haléře: 100 = 1 Kč.

`taxStartYear` integer min 1990 max 2100

`firstDepreciator` boolean

`isM1` boolean

`zeroEmission` boolean

`increaseExcluded` boolean

`businessUsePct` integer min 0 max 100

`accountingMethod` "straight\_line" | "performance" | "equal\_to\_tax" | "none"

`lifeMonths` integer min 1 max 1200

`residualValueHaler` integer min 0 max 9007199254740991

Integer amount in haléře: 100 = 1 Kč.

`totalUnitsMilli` integer min 1 max 9007199254740991

Integer thousandths: 1500 means 1.5.

`isOpening` boolean

`placedOn` string YYYY-MM-DD

Date as YYYY-MM-DD.

`openingAccumulatedHaler` integer min 0 max 9007199254740991

Integer amount in haléře: 100 = 1 Kč.

`openingThroughMonth` string

`taxTimeKind` "period" | "units" | "monument"

`taxTimeMonths` integer min 1 max 1200

`taxTimePrecision` "months" | "days"

`taxTimeUnitsMilli` integer min 1 max 9007199254740991

Integer thousandths: 1500 means 1.5.

`shareNumerator` integer min 1 max 1000000

`shareDenominator` integer min 1 max 1000000

`openingTaxAccumulatedHaler` integer min 0 max 9007199254740991

Integer amount in haléře: 100 = 1 Kč.

`openingTaxThroughYear` integer min 1990 max 2100

`openingTaxYears` integer min 0 max 120

`openingTaxDeductibleHaler` integer min 0 max 9007199254740991

Integer amount in haléře: 100 = 1 Kč.

`openingTaxIncreased` boolean

### Odpověď · 201

`id` string povinné

`inventoryNumber` null | string povinné

`name` string povinné

`status` string povinné

`category` null | string povinné

`acquiredOn` null | string povinné date

`placedOn` null | string povinné date

`disposedOn` null | string povinné date

`costHaler` integer povinné

`assetAccount` string povinné

`accumulatedAccount` null | string povinné

`expenseAccount` string povinné

`inProgressAccount` string povinné

`location` null | string povinné

`responsiblePerson` null | string povinné

`physicalDimensions` null | string povinné

`serialNumber` string | null povinné

`note` string | null povinné

`contactId` null | string povinné

`centerId` null | string povinné

`activityId` string | null povinné

`projectId` string | null povinné

`taxMethod` string povinné

`taxGroup` integer | null povinné

`taxVariant` string povinné

`taxEntryPriceHaler` integer | null povinné

`taxStartYear` integer | null povinné

`m1LinkAssetId` null | string povinné

`m1LinkLeaseId` null | string povinné

`firstDepreciator` boolean povinné

`isM1` boolean povinné

`zeroEmission` boolean povinné

`increaseExcluded` boolean povinné

`businessUsePct` integer povinné

`interruptedYears` integer\[\] povinné

`evidenceOnlyYears` integer\[\] povinné

`reducedFlatRateYears` integer\[\] povinné

`rateOverrides` object povinné

`accountingMethod` string povinné

`lifeMonths` integer | null povinné

`residualValueHaler` integer povinné

`totalUnitsMilli` integer | null povinné

`isOpening` boolean povinné

`openingAccumulatedHaler` integer povinné

`openingThroughMonth` null | string povinné

`taxTimeKind` null | string povinné

`taxTimeMonths` integer | null povinné

`taxTimePrecision` string povinné

`taxTimeUnitsMilli` integer | null povinné

`shareNumerator` integer povinné

`shareDenominator` integer povinné

`openingTaxAccumulatedHaler` integer povinné

`openingTaxThroughYear` integer | null povinné

`openingTaxYears` integer | null povinné

`openingTaxDeductibleHaler` integer | null povinné

`openingTaxIncreased` boolean povinné

`createdAt` string povinné date-time

`totalCostHaler` integer

`improvementsHaler` integer

`accumulatedHaler` integer

`bookValueHaler` integer

`improvements` any\[\]

`usage` any\[\]

`partialDisposals` object\[\]

`object` "asset\_partial\_disposal" povinné

`id` string povinné

`assetId` string povinné

`kind` string povinné

`disposedOn` string povinné date

`partCostHaler` integer povinné

`partTaxPriceHaler` integer povinné

`accountingAccumulatedHaler` integer povinné

`accountingResidualHaler` integer povinné

`taxDepreciationHaler` integer povinné

`taxResidualHaler` integer povinné

`taxDeductibleHaler` integer povinné

`saleHaler` integer povinné

`saleVatHaler` integer povinné

`compensationHaler` integer povinné

`toShareNumerator` integer | null povinné

`toShareDenominator` integer | null povinné

`journalEntryId` null | string povinné

`status` string povinné

`note` string | null povinné

`shareChanges` object\[\]

`object` "asset\_share\_change" povinné

`id` string povinné

`assetId` string povinné

`changedOn` string povinné date

`fromNumerator` integer povinné

`fromDenominator` integer povinné

`toNumerator` integer povinné

`toDenominator` integer povinné

`addedPriceHaler` integer povinné

`continuing` boolean povinné

`addedResidualHaler` integer | null povinné

`journalEntryId` null | string povinné

`status` string

`note` string | null povinné

`priceChanges` object\[\]

`object` "asset\_price\_change" povinné

`id` string povinné

`assetId` string povinné

`changedOn` string povinné date

`amountHaler` integer povinné

`reason` string povinné

`accountingAmountHaler` integer povinné

`journalEntryId` null | string povinné

`status` string povinné

`note` null | string povinné

`createdAt` string povinné date-time

`assignments` object\[\]

`object` "asset\_assignment" povinné

`id` string povinné

`assetId` string povinné

`effectiveOn` string povinné date

`location` null | string povinné

`responsiblePerson` null | string povinné

`centerId` null | string povinné

`activityId` string | null povinné

`projectId` string | null povinné

`source` string povinné

`note` null | string povinné

`acquisitionLines` object\[\]

`object` "asset\_acquisition\_line" povinné

`id` string povinné

`assetId` string povinné

`invoiceId` null | string povinné

`lineId` string povinné

`amountHaler` integer povinné

```bash
curl -X POST https://api.damedoklad.cz/v1/assets \
  -H "Authorization: Bearer $DAMEDOKLAD_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
  "contactId": "con_2n9F4kT7wQ1xYz0aBcDeFgHiJkL",
  "name": "Pekárna U Lípy s.r.o."
}'
```

```javascript
const response = await fetch('https://api.damedoklad.cz/v1/assets', {
  method: 'POST',
  headers: {
    Authorization: `Bearer ${process.env.DAMEDOKLAD_API_KEY}`,
    'Content-Type': 'application/json',
  },
  body: JSON.stringify({
    "contactId": "con_2n9F4kT7wQ1xYz0aBcDeFgHiJkL",
    "name": "Pekárna U Lípy s.r.o."
  }),
});
const data = await response.json();
```

```python
import os
import requests

response = requests.post(
    "https://api.damedoklad.cz/v1/assets",
    headers={"Authorization": f"Bearer {os.environ['DAMEDOKLAD_API_KEY']}"},
    json={
        "contactId": "con_2n9F4kT7wQ1xYz0aBcDeFgHiJkL",
        "name": "Pekárna U Lípy s.r.o."
    },
)
data = response.json()
```

## Detail: majetek

GET `/v1/assets/{id}`

Get a fixed asset card with its improvements and current values

Nástroj MCP: `get-asset`

### Parametry v cestě

`id` string povinné

### Odpověď · 200

`id` string povinné

`inventoryNumber` null | string povinné

`name` string povinné

`status` string povinné

`category` null | string povinné

`acquiredOn` null | string povinné date

`placedOn` null | string povinné date

`disposedOn` null | string povinné date

`costHaler` integer povinné

`assetAccount` string povinné

`accumulatedAccount` null | string povinné

`expenseAccount` string povinné

`inProgressAccount` string povinné

`location` null | string povinné

`responsiblePerson` null | string povinné

`physicalDimensions` null | string povinné

`serialNumber` string | null povinné

`note` string | null povinné

`contactId` null | string povinné

`centerId` null | string povinné

`activityId` string | null povinné

`projectId` string | null povinné

`taxMethod` string povinné

`taxGroup` integer | null povinné

`taxVariant` string povinné

`taxEntryPriceHaler` integer | null povinné

`taxStartYear` integer | null povinné

`m1LinkAssetId` null | string povinné

`m1LinkLeaseId` null | string povinné

`firstDepreciator` boolean povinné

`isM1` boolean povinné

`zeroEmission` boolean povinné

`increaseExcluded` boolean povinné

`businessUsePct` integer povinné

`interruptedYears` integer\[\] povinné

`evidenceOnlyYears` integer\[\] povinné

`reducedFlatRateYears` integer\[\] povinné

`rateOverrides` object povinné

`accountingMethod` string povinné

`lifeMonths` integer | null povinné

`residualValueHaler` integer povinné

`totalUnitsMilli` integer | null povinné

`isOpening` boolean povinné

`openingAccumulatedHaler` integer povinné

`openingThroughMonth` null | string povinné

`taxTimeKind` null | string povinné

`taxTimeMonths` integer | null povinné

`taxTimePrecision` string povinné

`taxTimeUnitsMilli` integer | null povinné

`shareNumerator` integer povinné

`shareDenominator` integer povinné

`openingTaxAccumulatedHaler` integer povinné

`openingTaxThroughYear` integer | null povinné

`openingTaxYears` integer | null povinné

`openingTaxDeductibleHaler` integer | null povinné

`openingTaxIncreased` boolean povinné

`createdAt` string povinné date-time

`totalCostHaler` integer

`improvementsHaler` integer

`accumulatedHaler` integer

`bookValueHaler` integer

`improvements` any\[\]

`usage` any\[\]

`partialDisposals` object\[\]

`object` "asset\_partial\_disposal" povinné

`id` string povinné

`assetId` string povinné

`kind` string povinné

`disposedOn` string povinné date

`partCostHaler` integer povinné

`partTaxPriceHaler` integer povinné

`accountingAccumulatedHaler` integer povinné

`accountingResidualHaler` integer povinné

`taxDepreciationHaler` integer povinné

`taxResidualHaler` integer povinné

`taxDeductibleHaler` integer povinné

`saleHaler` integer povinné

`saleVatHaler` integer povinné

`compensationHaler` integer povinné

`toShareNumerator` integer | null povinné

`toShareDenominator` integer | null povinné

`journalEntryId` null | string povinné

`status` string povinné

`note` string | null povinné

`shareChanges` object\[\]

`object` "asset\_share\_change" povinné

`id` string povinné

`assetId` string povinné

`changedOn` string povinné date

`fromNumerator` integer povinné

`fromDenominator` integer povinné

`toNumerator` integer povinné

`toDenominator` integer povinné

`addedPriceHaler` integer povinné

`continuing` boolean povinné

`addedResidualHaler` integer | null povinné

`journalEntryId` null | string povinné

`status` string

`note` string | null povinné

`priceChanges` object\[\]

`object` "asset\_price\_change" povinné

`id` string povinné

`assetId` string povinné

`changedOn` string povinné date

`amountHaler` integer povinné

`reason` string povinné

`accountingAmountHaler` integer povinné

`journalEntryId` null | string povinné

`status` string povinné

`note` null | string povinné

`createdAt` string povinné date-time

`assignments` object\[\]

`object` "asset\_assignment" povinné

`id` string povinné

`assetId` string povinné

`effectiveOn` string povinné date

`location` null | string povinné

`responsiblePerson` null | string povinné

`centerId` null | string povinné

`activityId` string | null povinné

`projectId` string | null povinné

`source` string povinné

`note` null | string povinné

`acquisitionLines` object\[\]

`object` "asset\_acquisition\_line" povinné

`id` string povinné

`assetId` string povinné

`invoiceId` null | string povinné

`lineId` string povinné

`amountHaler` integer povinné

```bash
curl https://api.damedoklad.cz/v1/assets/ast_2n9F4kT7wQ1xYz0aBcDeFgHiJkL \
  -H "Authorization: Bearer $DAMEDOKLAD_API_KEY"
```

```javascript
const response = await fetch('https://api.damedoklad.cz/v1/assets/ast_2n9F4kT7wQ1xYz0aBcDeFgHiJkL', {
  headers: {
    Authorization: `Bearer ${process.env.DAMEDOKLAD_API_KEY}`,
  },
});
const data = await response.json();
```

```python
import os
import requests

response = requests.get(
    "https://api.damedoklad.cz/v1/assets/ast_2n9F4kT7wQ1xYz0aBcDeFgHiJkL",
    headers={"Authorization": f"Bearer {os.environ['DAMEDOKLAD_API_KEY']}"},
)
data = response.json()
```

## Úprava: majetek

PATCH `/v1/assets/{id}`

Update a fixed asset card. Price and depreciation method lock once the asset is in use

Nástroj MCP: `update-asset`

### Parametry v cestě

`id` string povinné

### Tělo požadavku

`name` string max 200 chars

`inventoryNumber` string max 500 chars

`category` "dhm" | "dnm" | "land\_art"

`acquiredOn` string YYYY-MM-DD

Date as YYYY-MM-DD.

`costHaler` integer min 0 max 9007199254740991

Integer amount in haléře: 100 = 1 Kč.

`assetAccount` string

`location` string max 500 chars

`responsiblePerson` string max 500 chars

`physicalDimensions` string max 500 chars

`serialNumber` string max 500 chars

`note` string max 2000 chars

`contactId` string

ID of the contact. Find it with list-contacts.

`centerId` string

ID of the center.

`activityId` string

ID of the activity. Find it with list-activity.

`projectId` string

ID of the project.

`taxMethod` "straight" | "accelerated" | "extraordinary\_ev" | "accounting" | "time\_based" | "none"

`taxGroup` integer min 1 max 6

`taxVariant` "standard" | "plus10" | "plus15" | "plus20"

`taxEntryPriceHaler` integer min 0 max 9007199254740991

Integer amount in haléře: 100 = 1 Kč.

`taxStartYear` integer min 1990 max 2100

`firstDepreciator` boolean

`isM1` boolean

`zeroEmission` boolean

`increaseExcluded` boolean

`businessUsePct` integer min 0 max 100

`accountingMethod` "straight\_line" | "performance" | "equal\_to\_tax" | "none"

`lifeMonths` integer min 1 max 1200

`residualValueHaler` integer min 0 max 9007199254740991

Integer amount in haléře: 100 = 1 Kč.

`totalUnitsMilli` integer min 1 max 9007199254740991

Integer thousandths: 1500 means 1.5.

`isOpening` boolean

`placedOn` string YYYY-MM-DD

Date as YYYY-MM-DD.

`openingAccumulatedHaler` integer min 0 max 9007199254740991

Integer amount in haléře: 100 = 1 Kč.

`openingThroughMonth` string

`taxTimeKind` "period" | "units" | "monument"

`taxTimeMonths` integer min 1 max 1200

`taxTimePrecision` "months" | "days"

`taxTimeUnitsMilli` integer min 1 max 9007199254740991

Integer thousandths: 1500 means 1.5.

`shareNumerator` integer min 1 max 1000000

`shareDenominator` integer min 1 max 1000000

`openingTaxAccumulatedHaler` integer min 0 max 9007199254740991

Integer amount in haléře: 100 = 1 Kč.

`openingTaxThroughYear` integer min 1990 max 2100

`openingTaxYears` integer min 0 max 120

`openingTaxDeductibleHaler` integer min 0 max 9007199254740991

Integer amount in haléře: 100 = 1 Kč.

`openingTaxIncreased` boolean

### Odpověď · 200

`id` string povinné

`inventoryNumber` null | string povinné

`name` string povinné

`status` string povinné

`category` null | string povinné

`acquiredOn` null | string povinné date

`placedOn` null | string povinné date

`disposedOn` null | string povinné date

`costHaler` integer povinné

`assetAccount` string povinné

`accumulatedAccount` null | string povinné

`expenseAccount` string povinné

`inProgressAccount` string povinné

`location` null | string povinné

`responsiblePerson` null | string povinné

`physicalDimensions` null | string povinné

`serialNumber` string | null povinné

`note` string | null povinné

`contactId` null | string povinné

`centerId` null | string povinné

`activityId` string | null povinné

`projectId` string | null povinné

`taxMethod` string povinné

`taxGroup` integer | null povinné

`taxVariant` string povinné

`taxEntryPriceHaler` integer | null povinné

`taxStartYear` integer | null povinné

`m1LinkAssetId` null | string povinné

`m1LinkLeaseId` null | string povinné

`firstDepreciator` boolean povinné

`isM1` boolean povinné

`zeroEmission` boolean povinné

`increaseExcluded` boolean povinné

`businessUsePct` integer povinné

`interruptedYears` integer\[\] povinné

`evidenceOnlyYears` integer\[\] povinné

`reducedFlatRateYears` integer\[\] povinné

`rateOverrides` object povinné

`accountingMethod` string povinné

`lifeMonths` integer | null povinné

`residualValueHaler` integer povinné

`totalUnitsMilli` integer | null povinné

`isOpening` boolean povinné

`openingAccumulatedHaler` integer povinné

`openingThroughMonth` null | string povinné

`taxTimeKind` null | string povinné

`taxTimeMonths` integer | null povinné

`taxTimePrecision` string povinné

`taxTimeUnitsMilli` integer | null povinné

`shareNumerator` integer povinné

`shareDenominator` integer povinné

`openingTaxAccumulatedHaler` integer povinné

`openingTaxThroughYear` integer | null povinné

`openingTaxYears` integer | null povinné

`openingTaxDeductibleHaler` integer | null povinné

`openingTaxIncreased` boolean povinné

`createdAt` string povinné date-time

`totalCostHaler` integer

`improvementsHaler` integer

`accumulatedHaler` integer

`bookValueHaler` integer

`improvements` any\[\]

`usage` any\[\]

`partialDisposals` object\[\]

`object` "asset\_partial\_disposal" povinné

`id` string povinné

`assetId` string povinné

`kind` string povinné

`disposedOn` string povinné date

`partCostHaler` integer povinné

`partTaxPriceHaler` integer povinné

`accountingAccumulatedHaler` integer povinné

`accountingResidualHaler` integer povinné

`taxDepreciationHaler` integer povinné

`taxResidualHaler` integer povinné

`taxDeductibleHaler` integer povinné

`saleHaler` integer povinné

`saleVatHaler` integer povinné

`compensationHaler` integer povinné

`toShareNumerator` integer | null povinné

`toShareDenominator` integer | null povinné

`journalEntryId` null | string povinné

`status` string povinné

`note` string | null povinné

`shareChanges` object\[\]

`object` "asset\_share\_change" povinné

`id` string povinné

`assetId` string povinné

`changedOn` string povinné date

`fromNumerator` integer povinné

`fromDenominator` integer povinné

`toNumerator` integer povinné

`toDenominator` integer povinné

`addedPriceHaler` integer povinné

`continuing` boolean povinné

`addedResidualHaler` integer | null povinné

`journalEntryId` null | string povinné

`status` string

`note` string | null povinné

`priceChanges` object\[\]

`object` "asset\_price\_change" povinné

`id` string povinné

`assetId` string povinné

`changedOn` string povinné date

`amountHaler` integer povinné

`reason` string povinné

`accountingAmountHaler` integer povinné

`journalEntryId` null | string povinné

`status` string povinné

`note` null | string povinné

`createdAt` string povinné date-time

`assignments` object\[\]

`object` "asset\_assignment" povinné

`id` string povinné

`assetId` string povinné

`effectiveOn` string povinné date

`location` null | string povinné

`responsiblePerson` null | string povinné

`centerId` null | string povinné

`activityId` string | null povinné

`projectId` string | null povinné

`source` string povinné

`note` null | string povinné

`acquisitionLines` object\[\]

`object` "asset\_acquisition\_line" povinné

`id` string povinné

`assetId` string povinné

`invoiceId` null | string povinné

`lineId` string povinné

`amountHaler` integer povinné

```bash
curl -X PATCH https://api.damedoklad.cz/v1/assets/ast_2n9F4kT7wQ1xYz0aBcDeFgHiJkL \
  -H "Authorization: Bearer $DAMEDOKLAD_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
  "name": "Pekárna U Lípy s.r.o.",
  "inventoryNumber": "string",
  "category": "dhm"
}'
```

```javascript
const response = await fetch('https://api.damedoklad.cz/v1/assets/ast_2n9F4kT7wQ1xYz0aBcDeFgHiJkL', {
  method: 'PATCH',
  headers: {
    Authorization: `Bearer ${process.env.DAMEDOKLAD_API_KEY}`,
    'Content-Type': 'application/json',
  },
  body: JSON.stringify({
    "name": "Pekárna U Lípy s.r.o.",
    "inventoryNumber": "string",
    "category": "dhm"
  }),
});
const data = await response.json();
```

```python
import os
import requests

response = requests.patch(
    "https://api.damedoklad.cz/v1/assets/ast_2n9F4kT7wQ1xYz0aBcDeFgHiJkL",
    headers={"Authorization": f"Bearer {os.environ['DAMEDOKLAD_API_KEY']}"},
    json={
        "name": "Pekárna U Lípy s.r.o.",
        "inventoryNumber": "string",
        "category": "dhm"
    },
)
data = response.json()
```

## Smazání: majetek

DELETE `/v1/assets/{id}`

Delete a fixed asset card that has not been placed in service and has no acquisition postings

Nevratná operaceTato operace se nedá vrátit. MCP klienti se před ní ptají na potvrzení.

Nástroj MCP: `delete-asset`

### Parametry v cestě

`id` string povinné

### Odpověď · 200

`id` string povinné

`deleted` boolean povinné

```bash
curl -X DELETE https://api.damedoklad.cz/v1/assets/ast_2n9F4kT7wQ1xYz0aBcDeFgHiJkL \
  -H "Authorization: Bearer $DAMEDOKLAD_API_KEY"
```

```javascript
const response = await fetch('https://api.damedoklad.cz/v1/assets/ast_2n9F4kT7wQ1xYz0aBcDeFgHiJkL', {
  method: 'DELETE',
  headers: {
    Authorization: `Bearer ${process.env.DAMEDOKLAD_API_KEY}`,
  },
});
const data = await response.json();
```

```python
import os
import requests

response = requests.delete(
    "https://api.damedoklad.cz/v1/assets/ast_2n9F4kT7wQ1xYz0aBcDeFgHiJkL",
    headers={"Authorization": f"Bearer {os.environ['DAMEDOKLAD_API_KEY']}"},
)
data = response.json()
```

## Monthly accounting depreciation plan of an asset: posted months plus the months still planned

GET `/v1/assets/{id}/accounting-plan`

Monthly accounting depreciation plan of an asset: posted months plus the months still planned

Nástroj MCP: `get-asset-accounting-plan`

### Parametry v cestě

`id` string povinné

### Odpověď · 200

`data` object\[\] povinné

`month` null | string povinné

`amountHaler` integer | null povinné

`accumulatedHaler` integer

`bookValueHaler` integer

`state` string povinné

`total` integer povinné

`hasMore` boolean povinné

```bash
curl https://api.damedoklad.cz/v1/assets/ast_2n9F4kT7wQ1xYz0aBcDeFgHiJkL/accounting-plan \
  -H "Authorization: Bearer $DAMEDOKLAD_API_KEY"
```

```javascript
const response = await fetch('https://api.damedoklad.cz/v1/assets/ast_2n9F4kT7wQ1xYz0aBcDeFgHiJkL/accounting-plan', {
  headers: {
    Authorization: `Bearer ${process.env.DAMEDOKLAD_API_KEY}`,
  },
});
const data = await response.json();
```

```python
import os
import requests

response = requests.get(
    "https://api.damedoklad.cz/v1/assets/ast_2n9F4kT7wQ1xYz0aBcDeFgHiJkL/accounting-plan",
    headers={"Authorization": f"Bearer {os.environ['DAMEDOKLAD_API_KEY']}"},
)
data = response.json()
```

## Received invoice lines that make up an asset’s price

GET `/v1/assets/{id}/acquisition-lines`

Received invoice lines that make up an asset’s price

Nástroj MCP: `list-asset-acquisition-lines`

### Parametry v cestě

`id` string povinné

### Parametry dotazu

`limit` integer min 1 max 500

`offset` integer min 0 max 9007199254740991

`search` string max 200 chars

### Odpověď · 200

`data` any\[\] povinné

`total` integer

Rows that match, on all pages.

`hasMore` boolean povinné

More rows follow. Ask again with offset + the number of rows received.

```bash
curl https://api.damedoklad.cz/v1/assets/ast_2n9F4kT7wQ1xYz0aBcDeFgHiJkL/acquisition-lines \
  -H "Authorization: Bearer $DAMEDOKLAD_API_KEY"
```

```javascript
const response = await fetch('https://api.damedoklad.cz/v1/assets/ast_2n9F4kT7wQ1xYz0aBcDeFgHiJkL/acquisition-lines', {
  headers: {
    Authorization: `Bearer ${process.env.DAMEDOKLAD_API_KEY}`,
  },
});
const data = await response.json();
```

```python
import os
import requests

response = requests.get(
    "https://api.damedoklad.cz/v1/assets/ast_2n9F4kT7wQ1xYz0aBcDeFgHiJkL/acquisition-lines",
    headers={"Authorization": f"Bearer {os.environ['DAMEDOKLAD_API_KEY']}"},
)
data = response.json()
```

## Download the asset card as a PDF: values, tax and accounting depreciation, improvements, changes, and location history

GET `/v1/assets/{id}/card.pdf`

Download the asset card as a PDF: values, tax and accounting depreciation, improvements, changes, and location history

Nástroj MCP: `export-asset-card-pdf`

### Parametry v cestě

`id` string povinné

### Parametry dotazu

`lang` "cs" | "en"

### Odpověď · 200

Vrací soubor application/pdf.

```bash
curl https://api.damedoklad.cz/v1/assets/ast_2n9F4kT7wQ1xYz0aBcDeFgHiJkL/card.pdf \
  -H "Authorization: Bearer $DAMEDOKLAD_API_KEY" \
  -o soubor
```

```javascript
const response = await fetch('https://api.damedoklad.cz/v1/assets/ast_2n9F4kT7wQ1xYz0aBcDeFgHiJkL/card.pdf', {
  headers: {
    Authorization: `Bearer ${process.env.DAMEDOKLAD_API_KEY}`,
  },
});
const file = await response.arrayBuffer();
```

```python
import os
import requests

response = requests.get(
    "https://api.damedoklad.cz/v1/assets/ast_2n9F4kT7wQ1xYz0aBcDeFgHiJkL/card.pdf",
    headers={"Authorization": f"Bearer {os.environ['DAMEDOKLAD_API_KEY']}"},
)
content = response.content
```

## Dispose of an asset by sale, scrapping, damage, donation, or transfer to private use, with the right postings

POST `/v1/assets/{id}/dispose`

Dispose of an asset by sale, scrapping, damage, donation, or transfer to private use, with the right postings. Double entry: residual MD 541/551/549/543 / D 08x, then MD 08x / D 02x; a sale adds MD 311 / D 641 + D 343. If you also issue an invoice for the sale, leave saleHaler out so revenue is not posted twice. Cash book regimes write the deductible residual as a non-cash row.

Nevratná operaceTato operace se nedá vrátit. MCP klienti se před ní ptají na potvrzení.

Nástroj MCP: `dispose-asset`

### Parametry v cestě

`id` string povinné

### Tělo požadavku

`kind` "sale" | "scrap" | "damage" | "donation" | "private\_use" | "shortage" povinné

`date` string povinné YYYY-MM-DD

Date as YYYY-MM-DD.

`saleHaler` integer min 0 max 9007199254740991

Integer amount in haléře: 100 = 1 Kč.

`saleVatHaler` integer min 0 max 9007199254740991

Integer amount in haléře: 100 = 1 Kč.

`compensationHaler` integer min 0 max 9007199254740991

Integer amount in haléře: 100 = 1 Kč.

`fullyDeductibleDamage` boolean

`contactId` string

ID of the contact. Find it with list-contacts.

`proceedsMethod` "transfer" | "cash" | "card"

`note` string max 2000 chars

### Odpověď · 201

`id` string povinné

`assetId` string povinné

`kind` string povinné

`disposedOn` string povinné date

`saleHaler` integer povinné

`saleVatHaler` integer povinné

`compensationHaler` integer povinné

`fullyDeductibleDamage` boolean povinné

`contactId` string | null povinné

`accountingCostHaler` integer povinné

`accountingAccumulatedHaler` integer povinné

`accountingResidualHaler` integer povinné

`taxDepreciationHaler` integer povinné

`taxResidualHaler` integer povinné

`taxDeductibleHaler` integer povinné

`journalEntryId` null | string povinné

`status` string povinné

`note` null | string povinné

```bash
curl -X POST https://api.damedoklad.cz/v1/assets/ast_2n9F4kT7wQ1xYz0aBcDeFgHiJkL/dispose \
  -H "Authorization: Bearer $DAMEDOKLAD_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
  "contactId": "con_2n9F4kT7wQ1xYz0aBcDeFgHiJkL",
  "kind": "sale",
  "date": "2026-10-30"
}'
```

```javascript
const response = await fetch('https://api.damedoklad.cz/v1/assets/ast_2n9F4kT7wQ1xYz0aBcDeFgHiJkL/dispose', {
  method: 'POST',
  headers: {
    Authorization: `Bearer ${process.env.DAMEDOKLAD_API_KEY}`,
    'Content-Type': 'application/json',
  },
  body: JSON.stringify({
    "contactId": "con_2n9F4kT7wQ1xYz0aBcDeFgHiJkL",
    "kind": "sale",
    "date": "2026-10-30"
  }),
});
const data = await response.json();
```

```python
import os
import requests

response = requests.post(
    "https://api.damedoklad.cz/v1/assets/ast_2n9F4kT7wQ1xYz0aBcDeFgHiJkL/dispose",
    headers={"Authorization": f"Bearer {os.environ['DAMEDOKLAD_API_KEY']}"},
    json={
        "contactId": "con_2n9F4kT7wQ1xYz0aBcDeFgHiJkL",
        "kind": "sale",
        "date": "2026-10-30"
    },
)
data = response.json()
```

## Show the accounting residual, tax residual, half-year depreciation, and deductibility of a disposal without posting

POST `/v1/assets/{id}/dispose/preview`

Show the accounting residual, tax residual, half-year depreciation, and deductibility of a disposal without posting

Nástroj MCP: `preview-asset-disposal`

### Parametry v cestě

`id` string povinné

### Tělo požadavku

`kind` "sale" | "scrap" | "damage" | "donation" | "private\_use" | "shortage" povinné

`date` string povinné YYYY-MM-DD

Date as YYYY-MM-DD.

`saleHaler` integer min 0 max 9007199254740991

Integer amount in haléře: 100 = 1 Kč.

`saleVatHaler` integer min 0 max 9007199254740991

Integer amount in haléře: 100 = 1 Kč.

`compensationHaler` integer min 0 max 9007199254740991

Integer amount in haléře: 100 = 1 Kč.

`fullyDeductibleDamage` boolean

`contactId` string

ID of the contact. Find it with list-contacts.

`proceedsMethod` "transfer" | "cash" | "card"

`note` string max 2000 chars

### Odpověď · 200

`assetId` null | string povinné

`kind` string povinné

`accountingCostHaler` integer povinné

`accountingAccumulatedHaler` integer povinné

`accountingResidualHaler` integer povinné

`taxDepreciationInYearHaler` integer povinné

`taxDepreciationStatus` string povinné

`taxResidualHaler` integer povinné

`taxDeductibleHaler` integer povinné

`taxNonDeductibleHaler` integer povinné

```bash
curl -X POST https://api.damedoklad.cz/v1/assets/ast_2n9F4kT7wQ1xYz0aBcDeFgHiJkL/dispose/preview \
  -H "Authorization: Bearer $DAMEDOKLAD_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
  "contactId": "con_2n9F4kT7wQ1xYz0aBcDeFgHiJkL",
  "kind": "sale",
  "date": "2026-10-30"
}'
```

```javascript
const response = await fetch('https://api.damedoklad.cz/v1/assets/ast_2n9F4kT7wQ1xYz0aBcDeFgHiJkL/dispose/preview', {
  method: 'POST',
  headers: {
    Authorization: `Bearer ${process.env.DAMEDOKLAD_API_KEY}`,
    'Content-Type': 'application/json',
  },
  body: JSON.stringify({
    "contactId": "con_2n9F4kT7wQ1xYz0aBcDeFgHiJkL",
    "kind": "sale",
    "date": "2026-10-30"
  }),
});
const data = await response.json();
```

```python
import os
import requests

response = requests.post(
    "https://api.damedoklad.cz/v1/assets/ast_2n9F4kT7wQ1xYz0aBcDeFgHiJkL/dispose/preview",
    headers={"Authorization": f"Bearer {os.environ['DAMEDOKLAD_API_KEY']}"},
    json={
        "contactId": "con_2n9F4kT7wQ1xYz0aBcDeFgHiJkL",
        "kind": "sale",
        "date": "2026-10-30"
    },
)
data = response.json()
```

## List technical improvements of a fixed asset

GET `/v1/assets/{id}/improvements`

List technical improvements of a fixed asset

Nástroj MCP: `list-asset-improvements`

### Parametry v cestě

`id` string povinné

### Parametry dotazu

`limit` integer min 1 max 500

`offset` integer min 0 max 9007199254740991

`search` string max 200 chars

### Odpověď · 200

`data` any\[\] povinné

`total` integer

Rows that match, on all pages.

`hasMore` boolean povinné

More rows follow. Ask again with offset + the number of rows received.

```bash
curl https://api.damedoklad.cz/v1/assets/ast_2n9F4kT7wQ1xYz0aBcDeFgHiJkL/improvements \
  -H "Authorization: Bearer $DAMEDOKLAD_API_KEY"
```

```javascript
const response = await fetch('https://api.damedoklad.cz/v1/assets/ast_2n9F4kT7wQ1xYz0aBcDeFgHiJkL/improvements', {
  headers: {
    Authorization: `Bearer ${process.env.DAMEDOKLAD_API_KEY}`,
  },
});
const data = await response.json();
```

```python
import os
import requests

response = requests.get(
    "https://api.damedoklad.cz/v1/assets/ast_2n9F4kT7wQ1xYz0aBcDeFgHiJkL/improvements",
    headers={"Authorization": f"Bearer {os.environ['DAMEDOKLAD_API_KEY']}"},
)
data = response.json()
```

## Add a technical improvement. It raises the entry price from its tax year; in double entry posts MD 022 / D 042

POST `/v1/assets/{id}/improvements`

Add a technical improvement. It raises the entry price from its tax year; in double entry posts MD 022 / D 042. Under § 33 ZDP spending counts as an improvement above 80 000 Kč per asset per tax period. Below that the response flags it, and the taxpayer may still choose to treat it as one.

Nástroj MCP: `create-asset-improvement`

### Parametry v cestě

`id` string povinné

### Tělo požadavku

`completedOn` string povinné YYYY-MM-DD

Date as YYYY-MM-DD.

`description` string povinné max 200 chars

`amountHaler` integer povinné min 1 max 9007199254740991

Integer amount in haléře: 100 = 1 Kč.

`creditAccount` string

### Odpověď · 201

`id` string povinné

`assetId` string povinné

`completedOn` string povinné date

`description` string povinné

`amountHaler` integer povinné

`totalInYearHaler` integer povinné

`overThreshold` boolean povinné

```bash
curl -X POST https://api.damedoklad.cz/v1/assets/ast_2n9F4kT7wQ1xYz0aBcDeFgHiJkL/improvements \
  -H "Authorization: Bearer $DAMEDOKLAD_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
  "completedOn": "2026-10-30",
  "description": "Pečivo, říjen",
  "amountHaler": 1210000
}'
```

```javascript
const response = await fetch('https://api.damedoklad.cz/v1/assets/ast_2n9F4kT7wQ1xYz0aBcDeFgHiJkL/improvements', {
  method: 'POST',
  headers: {
    Authorization: `Bearer ${process.env.DAMEDOKLAD_API_KEY}`,
    'Content-Type': 'application/json',
  },
  body: JSON.stringify({
    "completedOn": "2026-10-30",
    "description": "Pečivo, říjen",
    "amountHaler": 1210000
  }),
});
const data = await response.json();
```

```python
import os
import requests

response = requests.post(
    "https://api.damedoklad.cz/v1/assets/ast_2n9F4kT7wQ1xYz0aBcDeFgHiJkL/improvements",
    headers={"Authorization": f"Bearer {os.environ['DAMEDOKLAD_API_KEY']}"},
    json={
        "completedOn": "2026-10-30",
        "description": "Pečivo, říjen",
        "amountHaler": 1210000
    },
)
data = response.json()
```

## History of an asset’s location, responsible person, and cost centre

GET `/v1/assets/{id}/moves`

History of an asset’s location, responsible person, and cost centre

Nástroj MCP: `list-asset-moves`

### Parametry v cestě

`id` string povinné

### Parametry dotazu

`limit` integer min 1 max 500

`offset` integer min 0 max 9007199254740991

`search` string max 200 chars

### Odpověď · 200

`data` object\[\] povinné

`object` "asset\_assignment" povinné

`id` string povinné

`assetId` string povinné

`effectiveOn` string povinné date

`location` null | string povinné

`responsiblePerson` null | string povinné

`centerId` null | string povinné

`activityId` string | null povinné

`projectId` string | null povinné

`source` string povinné

`note` null | string povinné

`total` integer

Rows that match, on all pages.

`hasMore` boolean povinné

More rows follow. Ask again with offset + the number of rows received.

```bash
curl https://api.damedoklad.cz/v1/assets/ast_2n9F4kT7wQ1xYz0aBcDeFgHiJkL/moves \
  -H "Authorization: Bearer $DAMEDOKLAD_API_KEY"
```

```javascript
const response = await fetch('https://api.damedoklad.cz/v1/assets/ast_2n9F4kT7wQ1xYz0aBcDeFgHiJkL/moves', {
  headers: {
    Authorization: `Bearer ${process.env.DAMEDOKLAD_API_KEY}`,
  },
});
const data = await response.json();
```

```python
import os
import requests

response = requests.get(
    "https://api.damedoklad.cz/v1/assets/ast_2n9F4kT7wQ1xYz0aBcDeFgHiJkL/moves",
    headers={"Authorization": f"Bearer {os.environ['DAMEDOKLAD_API_KEY']}"},
)
data = response.json()
```

## Move an asset to another location, responsible person, or cost centre from a date, keeping the history

POST `/v1/assets/{id}/moves`

Move an asset to another location, responsible person, or cost centre from a date, keeping the history. Monthly depreciation uses the dimensions valid at the end of the posted month.

Nástroj MCP: `move-asset`

### Parametry v cestě

`id` string povinné

### Tělo požadavku

`date` string povinné YYYY-MM-DD

Date as YYYY-MM-DD.

`location` string | null

`responsiblePerson` string | null

`centerId` string | null

ID of the center.

`activityId` string | null

ID of the activity. Find it with list-activity.

`projectId` string | null

ID of the project.

`note` string max 2000 chars

### Odpověď · 201

`id` string povinné

`assetId` string povinné

`effectiveOn` string povinné date

`location` null | string povinné

`responsiblePerson` null | string povinné

`centerId` null | string povinné

`activityId` string | null povinné

`projectId` string | null povinné

`source` string povinné

`note` null | string povinné

```bash
curl -X POST https://api.damedoklad.cz/v1/assets/ast_2n9F4kT7wQ1xYz0aBcDeFgHiJkL/moves \
  -H "Authorization: Bearer $DAMEDOKLAD_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
  "date": "2026-10-30"
}'
```

```javascript
const response = await fetch('https://api.damedoklad.cz/v1/assets/ast_2n9F4kT7wQ1xYz0aBcDeFgHiJkL/moves', {
  method: 'POST',
  headers: {
    Authorization: `Bearer ${process.env.DAMEDOKLAD_API_KEY}`,
    'Content-Type': 'application/json',
  },
  body: JSON.stringify({
    "date": "2026-10-30"
  }),
});
const data = await response.json();
```

```python
import os
import requests

response = requests.post(
    "https://api.damedoklad.cz/v1/assets/ast_2n9F4kT7wQ1xYz0aBcDeFgHiJkL/moves",
    headers={"Authorization": f"Bearer {os.environ['DAMEDOKLAD_API_KEY']}"},
    json={
        "date": "2026-10-30"
    },
)
data = response.json()
```

## Dispose of part of an asset: the entry price drops, the rate stays (§ 29 odst. 7 ZDP), and the part leaves with its share of accumulated depreciation

POST `/v1/assets/{id}/partial-disposals`

Dispose of part of an asset: the entry price drops, the rate stays (§ 29 odst. 7 ZDP), and the part leaves with its share of accumulated depreciation. Posts MD 08x / D 02x at the part’s cost and the part’s residual to 541/551/549/543/491. Cash book regimes write the deductible residual as a non-cash row. Pass toShareNumerator and toShareDenominator when selling part of a co-ownership share (§ 30e odst. 8 ZDP).

Nevratná operaceTato operace se nedá vrátit. MCP klienti se před ní ptají na potvrzení.

Nástroj MCP: `dispose-asset-part`

### Parametry v cestě

`id` string povinné

### Tělo požadavku

`kind` "sale" | "scrap" | "damage" | "donation" | "private\_use" | "shortage" povinné

`date` string povinné YYYY-MM-DD

Date as YYYY-MM-DD.

`partCostHaler` integer povinné min 1 max 9007199254740991

Integer amount in haléře: 100 = 1 Kč.

`partTaxPriceHaler` integer min 0 max 9007199254740991

Integer amount in haléře: 100 = 1 Kč.

`saleHaler` integer min 0 max 9007199254740991

Integer amount in haléře: 100 = 1 Kč.

`saleVatHaler` integer min 0 max 9007199254740991

Integer amount in haléře: 100 = 1 Kč.

`compensationHaler` integer min 0 max 9007199254740991

Integer amount in haléře: 100 = 1 Kč.

`fullyDeductibleDamage` boolean

`contactId` string

ID of the contact. Find it with list-contacts.

`proceedsMethod` "transfer" | "cash" | "card"

`toShareNumerator` integer min 1 max 1000000

`toShareDenominator` integer min 1 max 1000000

`note` string max 2000 chars

### Odpověď · 201

`id` string povinné

`assetId` string povinné

`kind` string povinné

`disposedOn` string povinné date

`partCostHaler` integer povinné

`partTaxPriceHaler` integer povinné

`accountingAccumulatedHaler` integer povinné

`accountingResidualHaler` integer povinné

`taxDepreciationHaler` integer povinné

`taxResidualHaler` integer povinné

`taxDeductibleHaler` integer povinné

`saleHaler` integer povinné

`saleVatHaler` integer povinné

`compensationHaler` integer povinné

`toShareNumerator` integer | null povinné

`toShareDenominator` integer | null povinné

`journalEntryId` null | string povinné

`status` string povinné

`note` string | null povinné

```bash
curl -X POST https://api.damedoklad.cz/v1/assets/ast_2n9F4kT7wQ1xYz0aBcDeFgHiJkL/partial-disposals \
  -H "Authorization: Bearer $DAMEDOKLAD_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
  "contactId": "con_2n9F4kT7wQ1xYz0aBcDeFgHiJkL",
  "kind": "sale",
  "date": "2026-10-30",
  "partCostHaler": 1210000
}'
```

```javascript
const response = await fetch('https://api.damedoklad.cz/v1/assets/ast_2n9F4kT7wQ1xYz0aBcDeFgHiJkL/partial-disposals', {
  method: 'POST',
  headers: {
    Authorization: `Bearer ${process.env.DAMEDOKLAD_API_KEY}`,
    'Content-Type': 'application/json',
  },
  body: JSON.stringify({
    "contactId": "con_2n9F4kT7wQ1xYz0aBcDeFgHiJkL",
    "kind": "sale",
    "date": "2026-10-30",
    "partCostHaler": 1210000
  }),
});
const data = await response.json();
```

```python
import os
import requests

response = requests.post(
    "https://api.damedoklad.cz/v1/assets/ast_2n9F4kT7wQ1xYz0aBcDeFgHiJkL/partial-disposals",
    headers={"Authorization": f"Bearer {os.environ['DAMEDOKLAD_API_KEY']}"},
    json={
        "contactId": "con_2n9F4kT7wQ1xYz0aBcDeFgHiJkL",
        "kind": "sale",
        "date": "2026-10-30",
        "partCostHaler": 1210000
    },
)
data = response.json()
```

## Show what removing part of an asset does to accounting and tax values, without posting

POST `/v1/assets/{id}/partial-disposals/preview`

Show what removing part of an asset does to accounting and tax values, without posting

Nástroj MCP: `preview-asset-partial-disposal`

### Parametry v cestě

`id` string povinné

### Tělo požadavku

`kind` "sale" | "scrap" | "damage" | "donation" | "private\_use" | "shortage" povinné

`date` string povinné YYYY-MM-DD

Date as YYYY-MM-DD.

`partCostHaler` integer povinné min 1 max 9007199254740991

Integer amount in haléře: 100 = 1 Kč.

`partTaxPriceHaler` integer min 0 max 9007199254740991

Integer amount in haléře: 100 = 1 Kč.

`saleHaler` integer min 0 max 9007199254740991

Integer amount in haléře: 100 = 1 Kč.

`saleVatHaler` integer min 0 max 9007199254740991

Integer amount in haléře: 100 = 1 Kč.

`compensationHaler` integer min 0 max 9007199254740991

Integer amount in haléře: 100 = 1 Kč.

`fullyDeductibleDamage` boolean

`contactId` string

ID of the contact. Find it with list-contacts.

`proceedsMethod` "transfer" | "cash" | "card"

`toShareNumerator` integer min 1 max 1000000

`toShareDenominator` integer min 1 max 1000000

`note` string max 2000 chars

### Odpověď · 200

`assetId` null | string povinné

`kind` string povinné

`partCostHaler` integer povinné

`partTaxPriceHaler` integer povinné

`accountingAccumulatedHaler` integer povinné

`accountingResidualHaler` integer povinné

`taxDepreciationHaler` integer povinné

`taxResidualHaler` integer povinné

`taxDeductibleHaler` integer povinné

`taxNonDeductibleHaler` integer povinné

`remainingCostHaler` integer povinné

`remainingTaxPriceHaler` integer povinné

```bash
curl -X POST https://api.damedoklad.cz/v1/assets/ast_2n9F4kT7wQ1xYz0aBcDeFgHiJkL/partial-disposals/preview \
  -H "Authorization: Bearer $DAMEDOKLAD_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
  "contactId": "con_2n9F4kT7wQ1xYz0aBcDeFgHiJkL",
  "kind": "sale",
  "date": "2026-10-30",
  "partCostHaler": 1210000
}'
```

```javascript
const response = await fetch('https://api.damedoklad.cz/v1/assets/ast_2n9F4kT7wQ1xYz0aBcDeFgHiJkL/partial-disposals/preview', {
  method: 'POST',
  headers: {
    Authorization: `Bearer ${process.env.DAMEDOKLAD_API_KEY}`,
    'Content-Type': 'application/json',
  },
  body: JSON.stringify({
    "contactId": "con_2n9F4kT7wQ1xYz0aBcDeFgHiJkL",
    "kind": "sale",
    "date": "2026-10-30",
    "partCostHaler": 1210000
  }),
});
const data = await response.json();
```

```python
import os
import requests

response = requests.post(
    "https://api.damedoklad.cz/v1/assets/ast_2n9F4kT7wQ1xYz0aBcDeFgHiJkL/partial-disposals/preview",
    headers={"Authorization": f"Bearer {os.environ['DAMEDOKLAD_API_KEY']}"},
    json={
        "contactId": "con_2n9F4kT7wQ1xYz0aBcDeFgHiJkL",
        "kind": "sale",
        "date": "2026-10-30",
        "partCostHaler": 1210000
    },
)
data = response.json()
```

## Place an acquired asset in service; in double entry posts MD 022 / D 042

POST `/v1/assets/{id}/place`

Place an acquired asset in service; in double entry posts MD 022 / D 042

Nástroj MCP: `place-asset-in-service`

### Parametry v cestě

`id` string povinné

### Tělo požadavku

`date` string povinné YYYY-MM-DD

Date as YYYY-MM-DD.

`creditAccount` string

### Odpověď · 200

`id` string povinné

`inventoryNumber` null | string povinné

`name` string povinné

`status` string povinné

`category` null | string povinné

`acquiredOn` null | string povinné date

`placedOn` null | string povinné date

`disposedOn` null | string povinné date

`costHaler` integer povinné

`assetAccount` string povinné

`accumulatedAccount` null | string povinné

`expenseAccount` string povinné

`inProgressAccount` string povinné

`location` null | string povinné

`responsiblePerson` null | string povinné

`physicalDimensions` null | string povinné

`serialNumber` string | null povinné

`note` string | null povinné

`contactId` null | string povinné

`centerId` null | string povinné

`activityId` string | null povinné

`projectId` string | null povinné

`taxMethod` string povinné

`taxGroup` integer | null povinné

`taxVariant` string povinné

`taxEntryPriceHaler` integer | null povinné

`taxStartYear` integer | null povinné

`m1LinkAssetId` null | string povinné

`m1LinkLeaseId` null | string povinné

`firstDepreciator` boolean povinné

`isM1` boolean povinné

`zeroEmission` boolean povinné

`increaseExcluded` boolean povinné

`businessUsePct` integer povinné

`interruptedYears` integer\[\] povinné

`evidenceOnlyYears` integer\[\] povinné

`reducedFlatRateYears` integer\[\] povinné

`rateOverrides` object povinné

`accountingMethod` string povinné

`lifeMonths` integer | null povinné

`residualValueHaler` integer povinné

`totalUnitsMilli` integer | null povinné

`isOpening` boolean povinné

`openingAccumulatedHaler` integer povinné

`openingThroughMonth` null | string povinné

`taxTimeKind` null | string povinné

`taxTimeMonths` integer | null povinné

`taxTimePrecision` string povinné

`taxTimeUnitsMilli` integer | null povinné

`shareNumerator` integer povinné

`shareDenominator` integer povinné

`openingTaxAccumulatedHaler` integer povinné

`openingTaxThroughYear` integer | null povinné

`openingTaxYears` integer | null povinné

`openingTaxDeductibleHaler` integer | null povinné

`openingTaxIncreased` boolean povinné

`createdAt` string povinné date-time

`totalCostHaler` integer

`improvementsHaler` integer

`accumulatedHaler` integer

`bookValueHaler` integer

`improvements` any\[\]

`usage` any\[\]

`partialDisposals` object\[\]

`object` "asset\_partial\_disposal" povinné

`id` string povinné

`assetId` string povinné

`kind` string povinné

`disposedOn` string povinné date

`partCostHaler` integer povinné

`partTaxPriceHaler` integer povinné

`accountingAccumulatedHaler` integer povinné

`accountingResidualHaler` integer povinné

`taxDepreciationHaler` integer povinné

`taxResidualHaler` integer povinné

`taxDeductibleHaler` integer povinné

`saleHaler` integer povinné

`saleVatHaler` integer povinné

`compensationHaler` integer povinné

`toShareNumerator` integer | null povinné

`toShareDenominator` integer | null povinné

`journalEntryId` null | string povinné

`status` string povinné

`note` string | null povinné

`shareChanges` object\[\]

`object` "asset\_share\_change" povinné

`id` string povinné

`assetId` string povinné

`changedOn` string povinné date

`fromNumerator` integer povinné

`fromDenominator` integer povinné

`toNumerator` integer povinné

`toDenominator` integer povinné

`addedPriceHaler` integer povinné

`continuing` boolean povinné

`addedResidualHaler` integer | null povinné

`journalEntryId` null | string povinné

`status` string

`note` string | null povinné

`priceChanges` object\[\]

`object` "asset\_price\_change" povinné

`id` string povinné

`assetId` string povinné

`changedOn` string povinné date

`amountHaler` integer povinné

`reason` string povinné

`accountingAmountHaler` integer povinné

`journalEntryId` null | string povinné

`status` string povinné

`note` null | string povinné

`createdAt` string povinné date-time

`assignments` object\[\]

`object` "asset\_assignment" povinné

`id` string povinné

`assetId` string povinné

`effectiveOn` string povinné date

`location` null | string povinné

`responsiblePerson` null | string povinné

`centerId` null | string povinné

`activityId` string | null povinné

`projectId` string | null povinné

`source` string povinné

`note` null | string povinné

`acquisitionLines` object\[\]

`object` "asset\_acquisition\_line" povinné

`id` string povinné

`assetId` string povinné

`invoiceId` null | string povinné

`lineId` string povinné

`amountHaler` integer povinné

```bash
curl -X POST https://api.damedoklad.cz/v1/assets/ast_2n9F4kT7wQ1xYz0aBcDeFgHiJkL/place \
  -H "Authorization: Bearer $DAMEDOKLAD_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
  "date": "2026-10-30"
}'
```

```javascript
const response = await fetch('https://api.damedoklad.cz/v1/assets/ast_2n9F4kT7wQ1xYz0aBcDeFgHiJkL/place', {
  method: 'POST',
  headers: {
    Authorization: `Bearer ${process.env.DAMEDOKLAD_API_KEY}`,
    'Content-Type': 'application/json',
  },
  body: JSON.stringify({
    "date": "2026-10-30"
  }),
});
const data = await response.json();
```

```python
import os
import requests

response = requests.post(
    "https://api.damedoklad.cz/v1/assets/ast_2n9F4kT7wQ1xYz0aBcDeFgHiJkL/place",
    headers={"Authorization": f"Bearer {os.environ['DAMEDOKLAD_API_KEY']}"},
    json={
        "date": "2026-10-30"
    },
)
data = response.json()
```

## Change the tax entry price of an asset already depreciated for a reason other than an improvement: the rate stays (§ 29 odst. 7 ZDP), for example a change of VAT registration

POST `/v1/assets/{id}/price-changes`

Change the tax entry price of an asset already depreciated for a reason other than an improvement: the rate stays (§ 29 odst. 7 ZDP), for example a change of VAT registration. amountHaler is signed. Registering for VAT lowers the price by the VAT claimed, cancelling a registration raises it by the deduction lost (GFŘ D-59 K § 29 bod 2 and 3). An M1 vehicle recomputes its limit (§ 30e odst. 4, § 30f odst. 4). Tax only, unless counterAccount posts the same change in double entry.

Nástroj MCP: `change-asset-entry-price`

### Parametry v cestě

`id` string povinné

### Tělo požadavku

`date` string povinné YYYY-MM-DD

Date as YYYY-MM-DD.

`amountHaler` integer povinné min -9007199254740991 max 9007199254740991

Integer amount in haléře: 100 = 1 Kč.

`reason` "vat\_registration" | "vat\_deregistration" | "grant" | "other" povinné

`counterAccount` string

`note` string max 2000 chars

### Odpověď · 201

`id` string povinné

`assetId` string povinné

`changedOn` string povinné date

`amountHaler` integer povinné

`reason` string povinné

`accountingAmountHaler` integer povinné

`journalEntryId` null | string povinné

`status` string povinné

`note` null | string povinné

`createdAt` string povinné date-time

```bash
curl -X POST https://api.damedoklad.cz/v1/assets/ast_2n9F4kT7wQ1xYz0aBcDeFgHiJkL/price-changes \
  -H "Authorization: Bearer $DAMEDOKLAD_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
  "date": "2026-10-30",
  "amountHaler": 1210000,
  "reason": "vat_registration"
}'
```

```javascript
const response = await fetch('https://api.damedoklad.cz/v1/assets/ast_2n9F4kT7wQ1xYz0aBcDeFgHiJkL/price-changes', {
  method: 'POST',
  headers: {
    Authorization: `Bearer ${process.env.DAMEDOKLAD_API_KEY}`,
    'Content-Type': 'application/json',
  },
  body: JSON.stringify({
    "date": "2026-10-30",
    "amountHaler": 1210000,
    "reason": "vat_registration"
  }),
});
const data = await response.json();
```

```python
import os
import requests

response = requests.post(
    "https://api.damedoklad.cz/v1/assets/ast_2n9F4kT7wQ1xYz0aBcDeFgHiJkL/price-changes",
    headers={"Authorization": f"Bearer {os.environ['DAMEDOKLAD_API_KEY']}"},
    json={
        "date": "2026-10-30",
        "amountHaler": 1210000,
        "reason": "vat_registration"
    },
)
data = response.json()
```

## Add an improvement of a vehicle under § 30a ZDP on a card of its own, sharing the M1 limit (§ 30a odst. 3, § 30e odst. 5)

POST `/v1/assets/{id}/separate-improvements`

Add an improvement of a vehicle under § 30a ZDP on a card of its own, sharing the M1 limit (§ 30a odst. 3, § 30e odst. 5)

Nástroj MCP: `add-asset-separate-improvement`

### Parametry v cestě

`id` string povinné

### Tělo požadavku

`name` string povinné max 500 chars

`completedOn` string povinné YYYY-MM-DD

Date as YYYY-MM-DD.

`amountHaler` integer povinné min 1 max 9007199254740991

Integer amount in haléře: 100 = 1 Kč.

`taxGroup` integer min 1 max 6

`taxMethod` "straight" | "accelerated"

`creditAccount` string

`note` string max 2000 chars

### Odpověď · 201

`id` string povinné

`inventoryNumber` null | string povinné

`name` string povinné

`status` string povinné

`category` null | string povinné

`acquiredOn` null | string povinné date

`placedOn` null | string povinné date

`disposedOn` null | string povinné date

`costHaler` integer povinné

`assetAccount` string povinné

`accumulatedAccount` null | string povinné

`expenseAccount` string povinné

`inProgressAccount` string povinné

`location` null | string povinné

`responsiblePerson` null | string povinné

`physicalDimensions` null | string povinné

`serialNumber` string | null povinné

`note` string | null povinné

`contactId` null | string povinné

`centerId` null | string povinné

`activityId` string | null povinné

`projectId` string | null povinné

`taxMethod` string povinné

`taxGroup` integer | null povinné

`taxVariant` string povinné

`taxEntryPriceHaler` integer | null povinné

`taxStartYear` integer | null povinné

`m1LinkAssetId` null | string povinné

`m1LinkLeaseId` null | string povinné

`firstDepreciator` boolean povinné

`isM1` boolean povinné

`zeroEmission` boolean povinné

`increaseExcluded` boolean povinné

`businessUsePct` integer povinné

`interruptedYears` integer\[\] povinné

`evidenceOnlyYears` integer\[\] povinné

`reducedFlatRateYears` integer\[\] povinné

`rateOverrides` object povinné

`accountingMethod` string povinné

`lifeMonths` integer | null povinné

`residualValueHaler` integer povinné

`totalUnitsMilli` integer | null povinné

`isOpening` boolean povinné

`openingAccumulatedHaler` integer povinné

`openingThroughMonth` null | string povinné

`taxTimeKind` null | string povinné

`taxTimeMonths` integer | null povinné

`taxTimePrecision` string povinné

`taxTimeUnitsMilli` integer | null povinné

`shareNumerator` integer povinné

`shareDenominator` integer povinné

`openingTaxAccumulatedHaler` integer povinné

`openingTaxThroughYear` integer | null povinné

`openingTaxYears` integer | null povinné

`openingTaxDeductibleHaler` integer | null povinné

`openingTaxIncreased` boolean povinné

`createdAt` string povinné date-time

`totalCostHaler` integer

`improvementsHaler` integer

`accumulatedHaler` integer

`bookValueHaler` integer

`improvements` any\[\]

`usage` any\[\]

`partialDisposals` object\[\]

`object` "asset\_partial\_disposal" povinné

`id` string povinné

`assetId` string povinné

`kind` string povinné

`disposedOn` string povinné date

`partCostHaler` integer povinné

`partTaxPriceHaler` integer povinné

`accountingAccumulatedHaler` integer povinné

`accountingResidualHaler` integer povinné

`taxDepreciationHaler` integer povinné

`taxResidualHaler` integer povinné

`taxDeductibleHaler` integer povinné

`saleHaler` integer povinné

`saleVatHaler` integer povinné

`compensationHaler` integer povinné

`toShareNumerator` integer | null povinné

`toShareDenominator` integer | null povinné

`journalEntryId` null | string povinné

`status` string povinné

`note` string | null povinné

`shareChanges` object\[\]

`object` "asset\_share\_change" povinné

`id` string povinné

`assetId` string povinné

`changedOn` string povinné date

`fromNumerator` integer povinné

`fromDenominator` integer povinné

`toNumerator` integer povinné

`toDenominator` integer povinné

`addedPriceHaler` integer povinné

`continuing` boolean povinné

`addedResidualHaler` integer | null povinné

`journalEntryId` null | string povinné

`status` string

`note` string | null povinné

`priceChanges` object\[\]

`object` "asset\_price\_change" povinné

`id` string povinné

`assetId` string povinné

`changedOn` string povinné date

`amountHaler` integer povinné

`reason` string povinné

`accountingAmountHaler` integer povinné

`journalEntryId` null | string povinné

`status` string povinné

`note` null | string povinné

`createdAt` string povinné date-time

`assignments` object\[\]

`object` "asset\_assignment" povinné

`id` string povinné

`assetId` string povinné

`effectiveOn` string povinné date

`location` null | string povinné

`responsiblePerson` null | string povinné

`centerId` null | string povinné

`activityId` string | null povinné

`projectId` string | null povinné

`source` string povinné

`note` null | string povinné

`acquisitionLines` object\[\]

`object` "asset\_acquisition\_line" povinné

`id` string povinné

`assetId` string povinné

`invoiceId` null | string povinné

`lineId` string povinné

`amountHaler` integer povinné

```bash
curl -X POST https://api.damedoklad.cz/v1/assets/ast_2n9F4kT7wQ1xYz0aBcDeFgHiJkL/separate-improvements \
  -H "Authorization: Bearer $DAMEDOKLAD_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
  "name": "Pekárna U Lípy s.r.o.",
  "completedOn": "2026-10-30",
  "amountHaler": 1210000
}'
```

```javascript
const response = await fetch('https://api.damedoklad.cz/v1/assets/ast_2n9F4kT7wQ1xYz0aBcDeFgHiJkL/separate-improvements', {
  method: 'POST',
  headers: {
    Authorization: `Bearer ${process.env.DAMEDOKLAD_API_KEY}`,
    'Content-Type': 'application/json',
  },
  body: JSON.stringify({
    "name": "Pekárna U Lípy s.r.o.",
    "completedOn": "2026-10-30",
    "amountHaler": 1210000
  }),
});
const data = await response.json();
```

```python
import os
import requests

response = requests.post(
    "https://api.damedoklad.cz/v1/assets/ast_2n9F4kT7wQ1xYz0aBcDeFgHiJkL/separate-improvements",
    headers={"Authorization": f"Bearer {os.environ['DAMEDOKLAD_API_KEY']}"},
    json={
        "name": "Pekárna U Lípy s.r.o.",
        "completedOn": "2026-10-30",
        "amountHaler": 1210000
    },
)
data = response.json()
```

## The parts of a set of movable assets (soubor movitých věcí, § 26 odst. 2 ZDP), its main item first

GET `/v1/assets/{id}/set-items`

The parts of a set of movable assets (soubor movitých věcí, § 26 odst. 2 ZDP), its main item first

Nástroj MCP: `list-asset-set-items`

### Parametry v cestě

`id` string povinné

### Parametry dotazu

`limit` integer min 1 max 500

`offset` integer min 0 max 9007199254740991

`search` string max 200 chars

### Odpověď · 200

`data` object\[\] povinné

`object` "asset\_set\_item" povinné

`id` string povinné

`name` string povinné

`serialNumber` null | string povinné

`costHaler` integer povinné

`isMain` boolean povinné

`addedOn` null | string povinné date

`disposedOn` null | string povinné date

`disposalReason` null | string povinné

`note` null | string povinné

`total` integer

Rows that match, on all pages.

`hasMore` boolean povinné

More rows follow. Ask again with offset + the number of rows received.

```bash
curl https://api.damedoklad.cz/v1/assets/ast_2n9F4kT7wQ1xYz0aBcDeFgHiJkL/set-items \
  -H "Authorization: Bearer $DAMEDOKLAD_API_KEY"
```

```javascript
const response = await fetch('https://api.damedoklad.cz/v1/assets/ast_2n9F4kT7wQ1xYz0aBcDeFgHiJkL/set-items', {
  headers: {
    Authorization: `Bearer ${process.env.DAMEDOKLAD_API_KEY}`,
  },
});
const data = await response.json();
```

```python
import os
import requests

response = requests.get(
    "https://api.damedoklad.cz/v1/assets/ast_2n9F4kT7wQ1xYz0aBcDeFgHiJkL/set-items",
    headers={"Authorization": f"Bearer {os.environ['DAMEDOKLAD_API_KEY']}"},
)
data = response.json()
```

## Add a part to a set of movable assets. The depreciation group follows the main item, and the card keeps the price

POST `/v1/assets/{id}/set-items`

Add a part to a set of movable assets. The depreciation group follows the main item, and the card keeps the price. A part added after the set was placed in service needs a date. Its price changes the card only through a technical improvement or a price change, as § 26 and § 29 ZDP treat it; this list is the evidence.

Nástroj MCP: `create-asset-set-item`

### Parametry v cestě

`id` string povinné

### Tělo požadavku

`name` string povinné max 200 chars

`serialNumber` string | null

`costHaler` integer min 0 max 9007199254740991

Integer amount in haléře: 100 = 1 Kč.

`isMain` boolean

`addedOn` string | null

Date as YYYY-MM-DD.

`note` string | null

### Odpověď · 201

`id` string povinné

`name` string povinné

`serialNumber` null | string povinné

`costHaler` integer povinné

`isMain` boolean povinné

`addedOn` null | string povinné date

`disposedOn` null | string povinné date

`disposalReason` null | string povinné

`note` null | string povinné

```bash
curl -X POST https://api.damedoklad.cz/v1/assets/ast_2n9F4kT7wQ1xYz0aBcDeFgHiJkL/set-items \
  -H "Authorization: Bearer $DAMEDOKLAD_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
  "name": "Pekárna U Lípy s.r.o."
}'
```

```javascript
const response = await fetch('https://api.damedoklad.cz/v1/assets/ast_2n9F4kT7wQ1xYz0aBcDeFgHiJkL/set-items', {
  method: 'POST',
  headers: {
    Authorization: `Bearer ${process.env.DAMEDOKLAD_API_KEY}`,
    'Content-Type': 'application/json',
  },
  body: JSON.stringify({
    "name": "Pekárna U Lípy s.r.o."
  }),
});
const data = await response.json();
```

```python
import os
import requests

response = requests.post(
    "https://api.damedoklad.cz/v1/assets/ast_2n9F4kT7wQ1xYz0aBcDeFgHiJkL/set-items",
    headers={"Authorization": f"Bearer {os.environ['DAMEDOKLAD_API_KEY']}"},
    json={
        "name": "Pekárna U Lípy s.r.o."
    },
)
data = response.json()
```

## Change a part of a set, or record that it left: disposedOn and disposalReason. The card is not disposed by this

PATCH `/v1/assets/{id}/set-items/{itemId}`

Change a part of a set, or record that it left: disposedOn and disposalReason. The card is not disposed by this. POHODA records the same as an operation Vyřazení předmětu. The tax and the books follow when the part is written off with a partial disposal of the card.

Nástroj MCP: `update-asset-set-item`

### Parametry v cestě

`id` string povinné

`itemId` string povinné

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

### Tělo požadavku

`name` string max 200 chars

`serialNumber` string | null

`costHaler` integer min 0 max 9007199254740991

Integer amount in haléře: 100 = 1 Kč.

`isMain` boolean

`addedOn` string | null

Date as YYYY-MM-DD.

`note` string | null

`disposedOn` string | null

Date as YYYY-MM-DD.

`disposalReason` string | null

### Odpověď · 200

`id` string povinné

`name` string povinné

`serialNumber` null | string povinné

`costHaler` integer povinné

`isMain` boolean povinné

`addedOn` null | string povinné date

`disposedOn` null | string povinné date

`disposalReason` null | string povinné

`note` null | string povinné

```bash
curl -X PATCH https://api.damedoklad.cz/v1/assets/ast_2n9F4kT7wQ1xYz0aBcDeFgHiJkL/set-items/itm_2n9F4kT7wQ1xYz0aBcDeFgHiJkL \
  -H "Authorization: Bearer $DAMEDOKLAD_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
  "name": "Pekárna U Lípy s.r.o.",
  "serialNumber": "string",
  "costHaler": 1210000
}'
```

```javascript
const response = await fetch('https://api.damedoklad.cz/v1/assets/ast_2n9F4kT7wQ1xYz0aBcDeFgHiJkL/set-items/itm_2n9F4kT7wQ1xYz0aBcDeFgHiJkL', {
  method: 'PATCH',
  headers: {
    Authorization: `Bearer ${process.env.DAMEDOKLAD_API_KEY}`,
    'Content-Type': 'application/json',
  },
  body: JSON.stringify({
    "name": "Pekárna U Lípy s.r.o.",
    "serialNumber": "string",
    "costHaler": 1210000
  }),
});
const data = await response.json();
```

```python
import os
import requests

response = requests.patch(
    "https://api.damedoklad.cz/v1/assets/ast_2n9F4kT7wQ1xYz0aBcDeFgHiJkL/set-items/itm_2n9F4kT7wQ1xYz0aBcDeFgHiJkL",
    headers={"Authorization": f"Bearer {os.environ['DAMEDOKLAD_API_KEY']}"},
    json={
        "name": "Pekárna U Lípy s.r.o.",
        "serialNumber": "string",
        "costHaler": 1210000
    },
)
data = response.json()
```

## Remove a part entered by mistake. One that really left stays, with disposedOn

DELETE `/v1/assets/{id}/set-items/{itemId}`

Remove a part entered by mistake. One that really left stays, with disposedOn

Nevratná operaceTato operace se nedá vrátit. MCP klienti se před ní ptají na potvrzení.

Nástroj MCP: `delete-asset-set-item`

### Parametry v cestě

`id` string povinné

`itemId` string povinné

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

### Odpověď · 200

`id` string povinné

`deleted` boolean povinné

```bash
curl -X DELETE https://api.damedoklad.cz/v1/assets/ast_2n9F4kT7wQ1xYz0aBcDeFgHiJkL/set-items/itm_2n9F4kT7wQ1xYz0aBcDeFgHiJkL \
  -H "Authorization: Bearer $DAMEDOKLAD_API_KEY"
```

```javascript
const response = await fetch('https://api.damedoklad.cz/v1/assets/ast_2n9F4kT7wQ1xYz0aBcDeFgHiJkL/set-items/itm_2n9F4kT7wQ1xYz0aBcDeFgHiJkL', {
  method: 'DELETE',
  headers: {
    Authorization: `Bearer ${process.env.DAMEDOKLAD_API_KEY}`,
  },
});
const data = await response.json();
```

```python
import os
import requests

response = requests.delete(
    "https://api.damedoklad.cz/v1/assets/ast_2n9F4kT7wQ1xYz0aBcDeFgHiJkL/set-items/itm_2n9F4kT7wQ1xYz0aBcDeFgHiJkL",
    headers={"Authorization": f"Bearer {os.environ['DAMEDOKLAD_API_KEY']}"},
)
data = response.json()
```

## Buy a larger co-ownership share: it merges into the entry price at the same rate (§ 30c ZDP), and an M1 vehicle recomputes its limit (§ 30e odst. 7)

POST `/v1/assets/{id}/share-increases`

Buy a larger co-ownership share: it merges into the entry price at the same rate (§ 30c ZDP), and an M1 vehicle recomputes its limit (§ 30e odst. 7)

Nástroj MCP: `increase-asset-share`

### Parametry v cestě

`id` string povinné

### Tělo požadavku

`date` string povinné YYYY-MM-DD

Date as YYYY-MM-DD.

`toNumerator` integer povinné min 1 max 1000000

`toDenominator` integer povinné min 1 max 1000000

`addedPriceHaler` integer povinné min 1 max 9007199254740991

Integer amount in haléře: 100 = 1 Kč.

`continuing` boolean

`addedResidualHaler` integer min 0 max 9007199254740991

Integer amount in haléře: 100 = 1 Kč.

`creditAccount` string

`note` string max 2000 chars

### Odpověď · 201

`id` string povinné

`assetId` string povinné

`changedOn` string povinné date

`fromNumerator` integer povinné

`fromDenominator` integer povinné

`toNumerator` integer povinné

`toDenominator` integer povinné

`addedPriceHaler` integer povinné

`continuing` boolean povinné

`addedResidualHaler` integer | null povinné

`journalEntryId` null | string povinné

`status` string

`note` string | null povinné

```bash
curl -X POST https://api.damedoklad.cz/v1/assets/ast_2n9F4kT7wQ1xYz0aBcDeFgHiJkL/share-increases \
  -H "Authorization: Bearer $DAMEDOKLAD_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
  "date": "2026-10-30",
  "toNumerator": 1,
  "toDenominator": 1,
  "addedPriceHaler": 1210000
}'
```

```javascript
const response = await fetch('https://api.damedoklad.cz/v1/assets/ast_2n9F4kT7wQ1xYz0aBcDeFgHiJkL/share-increases', {
  method: 'POST',
  headers: {
    Authorization: `Bearer ${process.env.DAMEDOKLAD_API_KEY}`,
    'Content-Type': 'application/json',
  },
  body: JSON.stringify({
    "date": "2026-10-30",
    "toNumerator": 1,
    "toDenominator": 1,
    "addedPriceHaler": 1210000
  }),
});
const data = await response.json();
```

```python
import os
import requests

response = requests.post(
    "https://api.damedoklad.cz/v1/assets/ast_2n9F4kT7wQ1xYz0aBcDeFgHiJkL/share-increases",
    headers={"Authorization": f"Bearer {os.environ['DAMEDOKLAD_API_KEY']}"},
    json={
        "date": "2026-10-30",
        "toNumerator": 1,
        "toDenominator": 1,
        "addedPriceHaler": 1210000
    },
)
data = response.json()
```

## Mark a year in which the owner claimed lump-sum expenses: depreciation counts as evidence only and is not deductible (§ 26 odst. 8 ZDP)

POST `/v1/assets/{id}/tax-evidence-only`

Mark a year in which the owner claimed lump-sum expenses: depreciation counts as evidence only and is not deductible (§ 26 odst. 8 ZDP)

Nástroj MCP: `set-asset-evidence-only-year`

### Parametry v cestě

`id` string povinné

### Tělo požadavku

`year` integer povinné min 1990 max 2100

`enabled` boolean povinné

### Odpověď · 200

`id` string povinné

`inventoryNumber` null | string povinné

`name` string povinné

`status` string povinné

`category` null | string povinné

`acquiredOn` null | string povinné date

`placedOn` null | string povinné date

`disposedOn` null | string povinné date

`costHaler` integer povinné

`assetAccount` string povinné

`accumulatedAccount` null | string povinné

`expenseAccount` string povinné

`inProgressAccount` string povinné

`location` null | string povinné

`responsiblePerson` null | string povinné

`physicalDimensions` null | string povinné

`serialNumber` string | null povinné

`note` string | null povinné

`contactId` null | string povinné

`centerId` null | string povinné

`activityId` string | null povinné

`projectId` string | null povinné

`taxMethod` string povinné

`taxGroup` integer | null povinné

`taxVariant` string povinné

`taxEntryPriceHaler` integer | null povinné

`taxStartYear` integer | null povinné

`m1LinkAssetId` null | string povinné

`m1LinkLeaseId` null | string povinné

`firstDepreciator` boolean povinné

`isM1` boolean povinné

`zeroEmission` boolean povinné

`increaseExcluded` boolean povinné

`businessUsePct` integer povinné

`interruptedYears` integer\[\] povinné

`evidenceOnlyYears` integer\[\] povinné

`reducedFlatRateYears` integer\[\] povinné

`rateOverrides` object povinné

`accountingMethod` string povinné

`lifeMonths` integer | null povinné

`residualValueHaler` integer povinné

`totalUnitsMilli` integer | null povinné

`isOpening` boolean povinné

`openingAccumulatedHaler` integer povinné

`openingThroughMonth` null | string povinné

`taxTimeKind` null | string povinné

`taxTimeMonths` integer | null povinné

`taxTimePrecision` string povinné

`taxTimeUnitsMilli` integer | null povinné

`shareNumerator` integer povinné

`shareDenominator` integer povinné

`openingTaxAccumulatedHaler` integer povinné

`openingTaxThroughYear` integer | null povinné

`openingTaxYears` integer | null povinné

`openingTaxDeductibleHaler` integer | null povinné

`openingTaxIncreased` boolean povinné

`createdAt` string povinné date-time

`totalCostHaler` integer

`improvementsHaler` integer

`accumulatedHaler` integer

`bookValueHaler` integer

`improvements` any\[\]

`usage` any\[\]

`partialDisposals` object\[\]

`object` "asset\_partial\_disposal" povinné

`id` string povinné

`assetId` string povinné

`kind` string povinné

`disposedOn` string povinné date

`partCostHaler` integer povinné

`partTaxPriceHaler` integer povinné

`accountingAccumulatedHaler` integer povinné

`accountingResidualHaler` integer povinné

`taxDepreciationHaler` integer povinné

`taxResidualHaler` integer povinné

`taxDeductibleHaler` integer povinné

`saleHaler` integer povinné

`saleVatHaler` integer povinné

`compensationHaler` integer povinné

`toShareNumerator` integer | null povinné

`toShareDenominator` integer | null povinné

`journalEntryId` null | string povinné

`status` string povinné

`note` string | null povinné

`shareChanges` object\[\]

`object` "asset\_share\_change" povinné

`id` string povinné

`assetId` string povinné

`changedOn` string povinné date

`fromNumerator` integer povinné

`fromDenominator` integer povinné

`toNumerator` integer povinné

`toDenominator` integer povinné

`addedPriceHaler` integer povinné

`continuing` boolean povinné

`addedResidualHaler` integer | null povinné

`journalEntryId` null | string povinné

`status` string

`note` string | null povinné

`priceChanges` object\[\]

`object` "asset\_price\_change" povinné

`id` string povinné

`assetId` string povinné

`changedOn` string povinné date

`amountHaler` integer povinné

`reason` string povinné

`accountingAmountHaler` integer povinné

`journalEntryId` null | string povinné

`status` string povinné

`note` null | string povinné

`createdAt` string povinné date-time

`assignments` object\[\]

`object` "asset\_assignment" povinné

`id` string povinné

`assetId` string povinné

`effectiveOn` string povinné date

`location` null | string povinné

`responsiblePerson` null | string povinné

`centerId` null | string povinné

`activityId` string | null povinné

`projectId` string | null povinné

`source` string povinné

`note` null | string povinné

`acquisitionLines` object\[\]

`object` "asset\_acquisition\_line" povinné

`id` string povinné

`assetId` string povinné

`invoiceId` null | string povinné

`lineId` string povinné

`amountHaler` integer povinné

```bash
curl -X POST https://api.damedoklad.cz/v1/assets/ast_2n9F4kT7wQ1xYz0aBcDeFgHiJkL/tax-evidence-only \
  -H "Authorization: Bearer $DAMEDOKLAD_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
  "year": 2026,
  "enabled": false
}'
```

```javascript
const response = await fetch('https://api.damedoklad.cz/v1/assets/ast_2n9F4kT7wQ1xYz0aBcDeFgHiJkL/tax-evidence-only', {
  method: 'POST',
  headers: {
    Authorization: `Bearer ${process.env.DAMEDOKLAD_API_KEY}`,
    'Content-Type': 'application/json',
  },
  body: JSON.stringify({
    "year": 2026,
    "enabled": false
  }),
});
const data = await response.json();
```

```python
import os
import requests

response = requests.post(
    "https://api.damedoklad.cz/v1/assets/ast_2n9F4kT7wQ1xYz0aBcDeFgHiJkL/tax-evidence-only",
    headers={"Authorization": f"Bearer {os.environ['DAMEDOKLAD_API_KEY']}"},
    json={
        "year": 2026,
        "enabled": False
    },
)
data = response.json()
```

## Interrupt or resume tax depreciation for a year (přerušení, § 26 odst. 8 ZDP); depreciation later continues as if not interrupted

POST `/v1/assets/{id}/tax-interruptions`

Interrupt or resume tax depreciation for a year (přerušení, § 26 odst. 8 ZDP); depreciation later continues as if not interrupted

Nástroj MCP: `set-asset-tax-interruption`

### Parametry v cestě

`id` string povinné

### Tělo požadavku

`year` integer povinné min 1990 max 2100

`enabled` boolean povinné

### Odpověď · 200

`id` string povinné

`inventoryNumber` null | string povinné

`name` string povinné

`status` string povinné

`category` null | string povinné

`acquiredOn` null | string povinné date

`placedOn` null | string povinné date

`disposedOn` null | string povinné date

`costHaler` integer povinné

`assetAccount` string povinné

`accumulatedAccount` null | string povinné

`expenseAccount` string povinné

`inProgressAccount` string povinné

`location` null | string povinné

`responsiblePerson` null | string povinné

`physicalDimensions` null | string povinné

`serialNumber` string | null povinné

`note` string | null povinné

`contactId` null | string povinné

`centerId` null | string povinné

`activityId` string | null povinné

`projectId` string | null povinné

`taxMethod` string povinné

`taxGroup` integer | null povinné

`taxVariant` string povinné

`taxEntryPriceHaler` integer | null povinné

`taxStartYear` integer | null povinné

`m1LinkAssetId` null | string povinné

`m1LinkLeaseId` null | string povinné

`firstDepreciator` boolean povinné

`isM1` boolean povinné

`zeroEmission` boolean povinné

`increaseExcluded` boolean povinné

`businessUsePct` integer povinné

`interruptedYears` integer\[\] povinné

`evidenceOnlyYears` integer\[\] povinné

`reducedFlatRateYears` integer\[\] povinné

`rateOverrides` object povinné

`accountingMethod` string povinné

`lifeMonths` integer | null povinné

`residualValueHaler` integer povinné

`totalUnitsMilli` integer | null povinné

`isOpening` boolean povinné

`openingAccumulatedHaler` integer povinné

`openingThroughMonth` null | string povinné

`taxTimeKind` null | string povinné

`taxTimeMonths` integer | null povinné

`taxTimePrecision` string povinné

`taxTimeUnitsMilli` integer | null povinné

`shareNumerator` integer povinné

`shareDenominator` integer povinné

`openingTaxAccumulatedHaler` integer povinné

`openingTaxThroughYear` integer | null povinné

`openingTaxYears` integer | null povinné

`openingTaxDeductibleHaler` integer | null povinné

`openingTaxIncreased` boolean povinné

`createdAt` string povinné date-time

`totalCostHaler` integer

`improvementsHaler` integer

`accumulatedHaler` integer

`bookValueHaler` integer

`improvements` any\[\]

`usage` any\[\]

`partialDisposals` object\[\]

`object` "asset\_partial\_disposal" povinné

`id` string povinné

`assetId` string povinné

`kind` string povinné

`disposedOn` string povinné date

`partCostHaler` integer povinné

`partTaxPriceHaler` integer povinné

`accountingAccumulatedHaler` integer povinné

`accountingResidualHaler` integer povinné

`taxDepreciationHaler` integer povinné

`taxResidualHaler` integer povinné

`taxDeductibleHaler` integer povinné

`saleHaler` integer povinné

`saleVatHaler` integer povinné

`compensationHaler` integer povinné

`toShareNumerator` integer | null povinné

`toShareDenominator` integer | null povinné

`journalEntryId` null | string povinné

`status` string povinné

`note` string | null povinné

`shareChanges` object\[\]

`object` "asset\_share\_change" povinné

`id` string povinné

`assetId` string povinné

`changedOn` string povinné date

`fromNumerator` integer povinné

`fromDenominator` integer povinné

`toNumerator` integer povinné

`toDenominator` integer povinné

`addedPriceHaler` integer povinné

`continuing` boolean povinné

`addedResidualHaler` integer | null povinné

`journalEntryId` null | string povinné

`status` string

`note` string | null povinné

`priceChanges` object\[\]

`object` "asset\_price\_change" povinné

`id` string povinné

`assetId` string povinné

`changedOn` string povinné date

`amountHaler` integer povinné

`reason` string povinné

`accountingAmountHaler` integer povinné

`journalEntryId` null | string povinné

`status` string povinné

`note` null | string povinné

`createdAt` string povinné date-time

`assignments` object\[\]

`object` "asset\_assignment" povinné

`id` string povinné

`assetId` string povinné

`effectiveOn` string povinné date

`location` null | string povinné

`responsiblePerson` null | string povinné

`centerId` null | string povinné

`activityId` string | null povinné

`projectId` string | null povinné

`source` string povinné

`note` null | string povinné

`acquisitionLines` object\[\]

`object` "asset\_acquisition\_line" povinné

`id` string povinné

`assetId` string povinné

`invoiceId` null | string povinné

`lineId` string povinné

`amountHaler` integer povinné

```bash
curl -X POST https://api.damedoklad.cz/v1/assets/ast_2n9F4kT7wQ1xYz0aBcDeFgHiJkL/tax-interruptions \
  -H "Authorization: Bearer $DAMEDOKLAD_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
  "year": 2026,
  "enabled": false
}'
```

```javascript
const response = await fetch('https://api.damedoklad.cz/v1/assets/ast_2n9F4kT7wQ1xYz0aBcDeFgHiJkL/tax-interruptions', {
  method: 'POST',
  headers: {
    Authorization: `Bearer ${process.env.DAMEDOKLAD_API_KEY}`,
    'Content-Type': 'application/json',
  },
  body: JSON.stringify({
    "year": 2026,
    "enabled": false
  }),
});
const data = await response.json();
```

```python
import os
import requests

response = requests.post(
    "https://api.damedoklad.cz/v1/assets/ast_2n9F4kT7wQ1xYz0aBcDeFgHiJkL/tax-interruptions",
    headers={"Authorization": f"Bearer {os.environ['DAMEDOKLAD_API_KEY']}"},
    json={
        "year": 2026,
        "enabled": False
    },
)
data = response.json()
```

## Use a lower straight-line rate than the maximum for one year (§ 31 odst. 7 ZDP); null restores the maximum

POST `/v1/assets/{id}/tax-rate`

Use a lower straight-line rate than the maximum for one year (§ 31 odst. 7 ZDP); null restores the maximum

Nástroj MCP: `set-asset-tax-rate`

### Parametry v cestě

`id` string povinné

### Tělo požadavku

`year` integer povinné min 1990 max 2100

`ratePct` number | null povinné

### Odpověď · 200

`id` string povinné

`inventoryNumber` null | string povinné

`name` string povinné

`status` string povinné

`category` null | string povinné

`acquiredOn` null | string povinné date

`placedOn` null | string povinné date

`disposedOn` null | string povinné date

`costHaler` integer povinné

`assetAccount` string povinné

`accumulatedAccount` null | string povinné

`expenseAccount` string povinné

`inProgressAccount` string povinné

`location` null | string povinné

`responsiblePerson` null | string povinné

`physicalDimensions` null | string povinné

`serialNumber` string | null povinné

`note` string | null povinné

`contactId` null | string povinné

`centerId` null | string povinné

`activityId` string | null povinné

`projectId` string | null povinné

`taxMethod` string povinné

`taxGroup` integer | null povinné

`taxVariant` string povinné

`taxEntryPriceHaler` integer | null povinné

`taxStartYear` integer | null povinné

`m1LinkAssetId` null | string povinné

`m1LinkLeaseId` null | string povinné

`firstDepreciator` boolean povinné

`isM1` boolean povinné

`zeroEmission` boolean povinné

`increaseExcluded` boolean povinné

`businessUsePct` integer povinné

`interruptedYears` integer\[\] povinné

`evidenceOnlyYears` integer\[\] povinné

`reducedFlatRateYears` integer\[\] povinné

`rateOverrides` object povinné

`accountingMethod` string povinné

`lifeMonths` integer | null povinné

`residualValueHaler` integer povinné

`totalUnitsMilli` integer | null povinné

`isOpening` boolean povinné

`openingAccumulatedHaler` integer povinné

`openingThroughMonth` null | string povinné

`taxTimeKind` null | string povinné

`taxTimeMonths` integer | null povinné

`taxTimePrecision` string povinné

`taxTimeUnitsMilli` integer | null povinné

`shareNumerator` integer povinné

`shareDenominator` integer povinné

`openingTaxAccumulatedHaler` integer povinné

`openingTaxThroughYear` integer | null povinné

`openingTaxYears` integer | null povinné

`openingTaxDeductibleHaler` integer | null povinné

`openingTaxIncreased` boolean povinné

`createdAt` string povinné date-time

`totalCostHaler` integer

`improvementsHaler` integer

`accumulatedHaler` integer

`bookValueHaler` integer

`improvements` any\[\]

`usage` any\[\]

`partialDisposals` object\[\]

`object` "asset\_partial\_disposal" povinné

`id` string povinné

`assetId` string povinné

`kind` string povinné

`disposedOn` string povinné date

`partCostHaler` integer povinné

`partTaxPriceHaler` integer povinné

`accountingAccumulatedHaler` integer povinné

`accountingResidualHaler` integer povinné

`taxDepreciationHaler` integer povinné

`taxResidualHaler` integer povinné

`taxDeductibleHaler` integer povinné

`saleHaler` integer povinné

`saleVatHaler` integer povinné

`compensationHaler` integer povinné

`toShareNumerator` integer | null povinné

`toShareDenominator` integer | null povinné

`journalEntryId` null | string povinné

`status` string povinné

`note` string | null povinné

`shareChanges` object\[\]

`object` "asset\_share\_change" povinné

`id` string povinné

`assetId` string povinné

`changedOn` string povinné date

`fromNumerator` integer povinné

`fromDenominator` integer povinné

`toNumerator` integer povinné

`toDenominator` integer povinné

`addedPriceHaler` integer povinné

`continuing` boolean povinné

`addedResidualHaler` integer | null povinné

`journalEntryId` null | string povinné

`status` string

`note` string | null povinné

`priceChanges` object\[\]

`object` "asset\_price\_change" povinné

`id` string povinné

`assetId` string povinné

`changedOn` string povinné date

`amountHaler` integer povinné

`reason` string povinné

`accountingAmountHaler` integer povinné

`journalEntryId` null | string povinné

`status` string povinné

`note` null | string povinné

`createdAt` string povinné date-time

`assignments` object\[\]

`object` "asset\_assignment" povinné

`id` string povinné

`assetId` string povinné

`effectiveOn` string povinné date

`location` null | string povinné

`responsiblePerson` null | string povinné

`centerId` null | string povinné

`activityId` string | null povinné

`projectId` string | null povinné

`source` string povinné

`note` null | string povinné

`acquisitionLines` object\[\]

`object` "asset\_acquisition\_line" povinné

`id` string povinné

`assetId` string povinné

`invoiceId` null | string povinné

`lineId` string povinné

`amountHaler` integer povinné

```bash
curl -X POST https://api.damedoklad.cz/v1/assets/ast_2n9F4kT7wQ1xYz0aBcDeFgHiJkL/tax-rate \
  -H "Authorization: Bearer $DAMEDOKLAD_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
  "year": 2026,
  "ratePct": 0
}'
```

```javascript
const response = await fetch('https://api.damedoklad.cz/v1/assets/ast_2n9F4kT7wQ1xYz0aBcDeFgHiJkL/tax-rate', {
  method: 'POST',
  headers: {
    Authorization: `Bearer ${process.env.DAMEDOKLAD_API_KEY}`,
    'Content-Type': 'application/json',
  },
  body: JSON.stringify({
    "year": 2026,
    "ratePct": 0
  }),
});
const data = await response.json();
```

```python
import os
import requests

response = requests.post(
    "https://api.damedoklad.cz/v1/assets/ast_2n9F4kT7wQ1xYz0aBcDeFgHiJkL/tax-rate",
    headers={"Authorization": f"Bearer {os.environ['DAMEDOKLAD_API_KEY']}"},
    json={
        "year": 2026,
        "ratePct": 0
    },
)
data = response.json()
```

## Mark a year with a reduced transport flat rate: only 80 % of the vehicle depreciation is deductible (§ 28 odst. 6 ZDP)

POST `/v1/assets/{id}/tax-reduced-flat-rate`

Mark a year with a reduced transport flat rate: only 80 % of the vehicle depreciation is deductible (§ 28 odst. 6 ZDP)

Nástroj MCP: `set-asset-reduced-flat-rate-year`

### Parametry v cestě

`id` string povinné

### Tělo požadavku

`year` integer povinné min 1990 max 2100

`enabled` boolean povinné

### Odpověď · 200

`id` string povinné

`inventoryNumber` null | string povinné

`name` string povinné

`status` string povinné

`category` null | string povinné

`acquiredOn` null | string povinné date

`placedOn` null | string povinné date

`disposedOn` null | string povinné date

`costHaler` integer povinné

`assetAccount` string povinné

`accumulatedAccount` null | string povinné

`expenseAccount` string povinné

`inProgressAccount` string povinné

`location` null | string povinné

`responsiblePerson` null | string povinné

`physicalDimensions` null | string povinné

`serialNumber` string | null povinné

`note` string | null povinné

`contactId` null | string povinné

`centerId` null | string povinné

`activityId` string | null povinné

`projectId` string | null povinné

`taxMethod` string povinné

`taxGroup` integer | null povinné

`taxVariant` string povinné

`taxEntryPriceHaler` integer | null povinné

`taxStartYear` integer | null povinné

`m1LinkAssetId` null | string povinné

`m1LinkLeaseId` null | string povinné

`firstDepreciator` boolean povinné

`isM1` boolean povinné

`zeroEmission` boolean povinné

`increaseExcluded` boolean povinné

`businessUsePct` integer povinné

`interruptedYears` integer\[\] povinné

`evidenceOnlyYears` integer\[\] povinné

`reducedFlatRateYears` integer\[\] povinné

`rateOverrides` object povinné

`accountingMethod` string povinné

`lifeMonths` integer | null povinné

`residualValueHaler` integer povinné

`totalUnitsMilli` integer | null povinné

`isOpening` boolean povinné

`openingAccumulatedHaler` integer povinné

`openingThroughMonth` null | string povinné

`taxTimeKind` null | string povinné

`taxTimeMonths` integer | null povinné

`taxTimePrecision` string povinné

`taxTimeUnitsMilli` integer | null povinné

`shareNumerator` integer povinné

`shareDenominator` integer povinné

`openingTaxAccumulatedHaler` integer povinné

`openingTaxThroughYear` integer | null povinné

`openingTaxYears` integer | null povinné

`openingTaxDeductibleHaler` integer | null povinné

`openingTaxIncreased` boolean povinné

`createdAt` string povinné date-time

`totalCostHaler` integer

`improvementsHaler` integer

`accumulatedHaler` integer

`bookValueHaler` integer

`improvements` any\[\]

`usage` any\[\]

`partialDisposals` object\[\]

`object` "asset\_partial\_disposal" povinné

`id` string povinné

`assetId` string povinné

`kind` string povinné

`disposedOn` string povinné date

`partCostHaler` integer povinné

`partTaxPriceHaler` integer povinné

`accountingAccumulatedHaler` integer povinné

`accountingResidualHaler` integer povinné

`taxDepreciationHaler` integer povinné

`taxResidualHaler` integer povinné

`taxDeductibleHaler` integer povinné

`saleHaler` integer povinné

`saleVatHaler` integer povinné

`compensationHaler` integer povinné

`toShareNumerator` integer | null povinné

`toShareDenominator` integer | null povinné

`journalEntryId` null | string povinné

`status` string povinné

`note` string | null povinné

`shareChanges` object\[\]

`object` "asset\_share\_change" povinné

`id` string povinné

`assetId` string povinné

`changedOn` string povinné date

`fromNumerator` integer povinné

`fromDenominator` integer povinné

`toNumerator` integer povinné

`toDenominator` integer povinné

`addedPriceHaler` integer povinné

`continuing` boolean povinné

`addedResidualHaler` integer | null povinné

`journalEntryId` null | string povinné

`status` string

`note` string | null povinné

`priceChanges` object\[\]

`object` "asset\_price\_change" povinné

`id` string povinné

`assetId` string povinné

`changedOn` string povinné date

`amountHaler` integer povinné

`reason` string povinné

`accountingAmountHaler` integer povinné

`journalEntryId` null | string povinné

`status` string povinné

`note` null | string povinné

`createdAt` string povinné date-time

`assignments` object\[\]

`object` "asset\_assignment" povinné

`id` string povinné

`assetId` string povinné

`effectiveOn` string povinné date

`location` null | string povinné

`responsiblePerson` null | string povinné

`centerId` null | string povinné

`activityId` string | null povinné

`projectId` string | null povinné

`source` string povinné

`note` null | string povinné

`acquisitionLines` object\[\]

`object` "asset\_acquisition\_line" povinné

`id` string povinné

`assetId` string povinné

`invoiceId` null | string povinné

`lineId` string povinné

`amountHaler` integer povinné

```bash
curl -X POST https://api.damedoklad.cz/v1/assets/ast_2n9F4kT7wQ1xYz0aBcDeFgHiJkL/tax-reduced-flat-rate \
  -H "Authorization: Bearer $DAMEDOKLAD_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
  "year": 2026,
  "enabled": false
}'
```

```javascript
const response = await fetch('https://api.damedoklad.cz/v1/assets/ast_2n9F4kT7wQ1xYz0aBcDeFgHiJkL/tax-reduced-flat-rate', {
  method: 'POST',
  headers: {
    Authorization: `Bearer ${process.env.DAMEDOKLAD_API_KEY}`,
    'Content-Type': 'application/json',
  },
  body: JSON.stringify({
    "year": 2026,
    "enabled": false
  }),
});
const data = await response.json();
```

```python
import os
import requests

response = requests.post(
    "https://api.damedoklad.cz/v1/assets/ast_2n9F4kT7wQ1xYz0aBcDeFgHiJkL/tax-reduced-flat-rate",
    headers={"Authorization": f"Bearer {os.environ['DAMEDOKLAD_API_KEY']}"},
    json={
        "year": 2026,
        "enabled": False
    },
)
data = response.json()
```

## Tax depreciation schedule of one asset by year under § 30 to § 32 ZDP

GET `/v1/assets/{id}/tax-schedule`

Tax depreciation schedule of one asset by year under § 30 to § 32 ZDP

Nástroj MCP: `get-asset-tax-schedule`

### Parametry v cestě

`id` string povinné

### Odpověď · 200

`data` object\[\] povinné

`year` integer povinné

`sequence` integer povinné

`status` string povinné

`priceHaler` integer povinné

`ratePct` null | number povinné

`depreciationHaler` integer povinné

`deductibleHaler` integer povinné

`accumulatedHaler` integer povinné

`residualHaler` integer povinné

`partial` object\[\]

`date` string povinné date

`partPriceHaler` integer povinné

`partAccumulatedHaler` integer povinné

`partDepreciationHaler` integer povinné

`partResidualHaler` integer povinné

`total` integer povinné

`hasMore` boolean povinné

```bash
curl https://api.damedoklad.cz/v1/assets/ast_2n9F4kT7wQ1xYz0aBcDeFgHiJkL/tax-schedule \
  -H "Authorization: Bearer $DAMEDOKLAD_API_KEY"
```

```javascript
const response = await fetch('https://api.damedoklad.cz/v1/assets/ast_2n9F4kT7wQ1xYz0aBcDeFgHiJkL/tax-schedule', {
  headers: {
    Authorization: `Bearer ${process.env.DAMEDOKLAD_API_KEY}`,
  },
});
const data = await response.json();
```

```python
import os
import requests

response = requests.get(
    "https://api.damedoklad.cz/v1/assets/ast_2n9F4kT7wQ1xYz0aBcDeFgHiJkL/tax-schedule",
    headers={"Authorization": f"Bearer {os.environ['DAMEDOKLAD_API_KEY']}"},
)
data = response.json()
```

## Take an asset back out of use with a storno of MD 02x / D 04x, while nothing has been depreciated

POST `/v1/assets/{id}/unplace`

Take an asset back out of use with a storno of MD 02x / D 04x, while nothing has been depreciated

Nevratná operaceTato operace se nedá vrátit. MCP klienti se před ní ptají na potvrzení.

Nástroj MCP: `unplace-asset`

### Parametry v cestě

`id` string povinné

### Odpověď · 200

`id` string povinné

`inventoryNumber` null | string povinné

`name` string povinné

`status` string povinné

`category` null | string povinné

`acquiredOn` null | string povinné date

`placedOn` null | string povinné date

`disposedOn` null | string povinné date

`costHaler` integer povinné

`assetAccount` string povinné

`accumulatedAccount` null | string povinné

`expenseAccount` string povinné

`inProgressAccount` string povinné

`location` null | string povinné

`responsiblePerson` null | string povinné

`physicalDimensions` null | string povinné

`serialNumber` string | null povinné

`note` string | null povinné

`contactId` null | string povinné

`centerId` null | string povinné

`activityId` string | null povinné

`projectId` string | null povinné

`taxMethod` string povinné

`taxGroup` integer | null povinné

`taxVariant` string povinné

`taxEntryPriceHaler` integer | null povinné

`taxStartYear` integer | null povinné

`m1LinkAssetId` null | string povinné

`m1LinkLeaseId` null | string povinné

`firstDepreciator` boolean povinné

`isM1` boolean povinné

`zeroEmission` boolean povinné

`increaseExcluded` boolean povinné

`businessUsePct` integer povinné

`interruptedYears` integer\[\] povinné

`evidenceOnlyYears` integer\[\] povinné

`reducedFlatRateYears` integer\[\] povinné

`rateOverrides` object povinné

`accountingMethod` string povinné

`lifeMonths` integer | null povinné

`residualValueHaler` integer povinné

`totalUnitsMilli` integer | null povinné

`isOpening` boolean povinné

`openingAccumulatedHaler` integer povinné

`openingThroughMonth` null | string povinné

`taxTimeKind` null | string povinné

`taxTimeMonths` integer | null povinné

`taxTimePrecision` string povinné

`taxTimeUnitsMilli` integer | null povinné

`shareNumerator` integer povinné

`shareDenominator` integer povinné

`openingTaxAccumulatedHaler` integer povinné

`openingTaxThroughYear` integer | null povinné

`openingTaxYears` integer | null povinné

`openingTaxDeductibleHaler` integer | null povinné

`openingTaxIncreased` boolean povinné

`createdAt` string povinné date-time

`totalCostHaler` integer

`improvementsHaler` integer

`accumulatedHaler` integer

`bookValueHaler` integer

`improvements` any\[\]

`usage` any\[\]

`partialDisposals` object\[\]

`object` "asset\_partial\_disposal" povinné

`id` string povinné

`assetId` string povinné

`kind` string povinné

`disposedOn` string povinné date

`partCostHaler` integer povinné

`partTaxPriceHaler` integer povinné

`accountingAccumulatedHaler` integer povinné

`accountingResidualHaler` integer povinné

`taxDepreciationHaler` integer povinné

`taxResidualHaler` integer povinné

`taxDeductibleHaler` integer povinné

`saleHaler` integer povinné

`saleVatHaler` integer povinné

`compensationHaler` integer povinné

`toShareNumerator` integer | null povinné

`toShareDenominator` integer | null povinné

`journalEntryId` null | string povinné

`status` string povinné

`note` string | null povinné

`shareChanges` object\[\]

`object` "asset\_share\_change" povinné

`id` string povinné

`assetId` string povinné

`changedOn` string povinné date

`fromNumerator` integer povinné

`fromDenominator` integer povinné

`toNumerator` integer povinné

`toDenominator` integer povinné

`addedPriceHaler` integer povinné

`continuing` boolean povinné

`addedResidualHaler` integer | null povinné

`journalEntryId` null | string povinné

`status` string

`note` string | null povinné

`priceChanges` object\[\]

`object` "asset\_price\_change" povinné

`id` string povinné

`assetId` string povinné

`changedOn` string povinné date

`amountHaler` integer povinné

`reason` string povinné

`accountingAmountHaler` integer povinné

`journalEntryId` null | string povinné

`status` string povinné

`note` null | string povinné

`createdAt` string povinné date-time

`assignments` object\[\]

`object` "asset\_assignment" povinné

`id` string povinné

`assetId` string povinné

`effectiveOn` string povinné date

`location` null | string povinné

`responsiblePerson` null | string povinné

`centerId` null | string povinné

`activityId` string | null povinné

`projectId` string | null povinné

`source` string povinné

`note` null | string povinné

`acquisitionLines` object\[\]

`object` "asset\_acquisition\_line" povinné

`id` string povinné

`assetId` string povinné

`invoiceId` null | string povinné

`lineId` string povinné

`amountHaler` integer povinné

```bash
curl -X POST https://api.damedoklad.cz/v1/assets/ast_2n9F4kT7wQ1xYz0aBcDeFgHiJkL/unplace \
  -H "Authorization: Bearer $DAMEDOKLAD_API_KEY"
```

```javascript
const response = await fetch('https://api.damedoklad.cz/v1/assets/ast_2n9F4kT7wQ1xYz0aBcDeFgHiJkL/unplace', {
  method: 'POST',
  headers: {
    Authorization: `Bearer ${process.env.DAMEDOKLAD_API_KEY}`,
  },
});
const data = await response.json();
```

```python
import os
import requests

response = requests.post(
    "https://api.damedoklad.cz/v1/assets/ast_2n9F4kT7wQ1xYz0aBcDeFgHiJkL/unplace",
    headers={"Authorization": f"Bearer {os.environ['DAMEDOKLAD_API_KEY']}"},
)
data = response.json()
```

## Record a month of output for an asset with performance-based depreciation

POST `/v1/assets/{id}/usage`

Record a month of output for an asset with performance-based depreciation

Nástroj MCP: `record-asset-usage`

### Parametry v cestě

`id` string povinné

### Tělo požadavku

`month` string povinné

`unitsMilli` integer povinné min 0 max 9007199254740991

Integer thousandths: 1500 means 1.5.

### Odpověď · 200

`id` string povinné

`assetId` string povinné

`month` string povinné

`unitsMilli` integer povinné

```bash
curl -X POST https://api.damedoklad.cz/v1/assets/ast_2n9F4kT7wQ1xYz0aBcDeFgHiJkL/usage \
  -H "Authorization: Bearer $DAMEDOKLAD_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
  "month": "2026-10-30",
  "unitsMilli": 1000
}'
```

```javascript
const response = await fetch('https://api.damedoklad.cz/v1/assets/ast_2n9F4kT7wQ1xYz0aBcDeFgHiJkL/usage', {
  method: 'POST',
  headers: {
    Authorization: `Bearer ${process.env.DAMEDOKLAD_API_KEY}`,
    'Content-Type': 'application/json',
  },
  body: JSON.stringify({
    "month": "2026-10-30",
    "unitsMilli": 1000
  }),
});
const data = await response.json();
```

```python
import os
import requests

response = requests.post(
    "https://api.damedoklad.cz/v1/assets/ast_2n9F4kT7wQ1xYz0aBcDeFgHiJkL/usage",
    headers={"Authorization": f"Bearer {os.environ['DAMEDOKLAD_API_KEY']}"},
    json={
        "month": "2026-10-30",
        "unitsMilli": 1000
    },
)
data = response.json()
```

## Import: majetek

POST `/v1/assets/import`

Import asset cards from XLSX with opening accumulated depreciation, for a company migrating mid-life. dryRun only validates. Cards are taken over as opening balances and post nothing. Tax accumulated depreciation needs the year and the number of years, because § 32 odst. 2 ZDP counts them. Rows with an error are skipped and listed.

Nástroj MCP: `import-assets`

### Tělo požadavku

`fileBase64` string povinné max 40000000 chars

File content encoded as base64.

`dryRun` boolean

### Odpověď · 200

`dryRun` boolean povinné

`valid` integer povinné

`imported` integer povinné

`errors` object\[\] povinné

`line` integer povinné

`message` null | string povinné

`name` null | string povinné

`preview` object\[\] povinné

`name` null | string povinné

`inventoryNumber` null | string povinné

`placedOn` null | string povinné date

`costHaler` integer povinné

`openingAccumulatedHaler` integer povinné

`openingTaxAccumulatedHaler` integer povinné

```bash
curl -X POST https://api.damedoklad.cz/v1/assets/import \
  -H "Authorization: Bearer $DAMEDOKLAD_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
  "fileBase64": "string"
}'
```

```javascript
const response = await fetch('https://api.damedoklad.cz/v1/assets/import', {
  method: 'POST',
  headers: {
    Authorization: `Bearer ${process.env.DAMEDOKLAD_API_KEY}`,
    'Content-Type': 'application/json',
  },
  body: JSON.stringify({
    "fileBase64": "string"
  }),
});
const data = await response.json();
```

```python
import os
import requests

response = requests.post(
    "https://api.damedoklad.cz/v1/assets/import",
    headers={"Authorization": f"Bearer {os.environ['DAMEDOKLAD_API_KEY']}"},
    json={
        "fileBase64": "string"
    },
)
data = response.json()
```

## Download the XLSX template for importing asset cards, with an example row

GET `/v1/assets/import-template.xlsx`

Download the XLSX template for importing asset cards, with an example row

Nástroj MCP: `download-asset-import-template`

### Odpověď · 200

Vrací soubor application/vnd.openxmlformats-officedocument.spreadsheetml.sheet.

```bash
curl https://api.damedoklad.cz/v1/assets/import-template.xlsx \
  -H "Authorization: Bearer $DAMEDOKLAD_API_KEY" \
  -o soubor
```

```javascript
const response = await fetch('https://api.damedoklad.cz/v1/assets/import-template.xlsx', {
  headers: {
    Authorization: `Bearer ${process.env.DAMEDOKLAD_API_KEY}`,
  },
});
const file = await response.arrayBuffer();
```

```python
import os
import requests

response = requests.get(
    "https://api.damedoklad.cz/v1/assets/import-template.xlsx",
    headers={"Authorization": f"Bearer {os.environ['DAMEDOKLAD_API_KEY']}"},
)
content = response.content
```

## Inventory labels with a Code 128 barcode of the inventory number as PDF: an A4 sheet of 3 × 8, or one 50 × 30 mm label per page

GET `/v1/assets/labels`

Inventory labels with a Code 128 barcode of the inventory number as PDF: an A4 sheet of 3 × 8, or one 50 × 30 mm label per page. Pass fixed and small asset ids separated by commas. A reader typing the number into the search box finds the card.

Nástroj MCP: `get-asset-labels`

### Parametry dotazu

`ids` string povinné max 20000 chars

`copies` integer min 1 max 500

`layout` "sheet" | "roll"

### Odpověď · 200

Vrací soubor application/pdf.

```bash
curl https://api.damedoklad.cz/v1/assets/labels \
  -H "Authorization: Bearer $DAMEDOKLAD_API_KEY" \
  -o soubor
```

```javascript
const response = await fetch('https://api.damedoklad.cz/v1/assets/labels', {
  headers: {
    Authorization: `Bearer ${process.env.DAMEDOKLAD_API_KEY}`,
  },
});
const file = await response.arrayBuffer();
```

```python
import os
import requests

response = requests.get(
    "https://api.damedoklad.cz/v1/assets/labels",
    headers={"Authorization": f"Bearer {os.environ['DAMEDOKLAD_API_KEY']}"},
)
content = response.content
```

## Post every unposted lease instalment due in a month

POST `/v1/lease-runs`

Post every unposted lease instalment due in a month

Nástroj MCP: `post-lease-month`

### Tělo požadavku

`month` string povinné

### Odpověď · 200

`month` null | string povinné

`posted` integer povinné

`instalments` object\[\] povinné

`object` "lease\_instalment" povinné

`id` string povinné

`leaseId` string povinné

`sequence` integer povinné

`dueOn` string povinné date

`month` string povinné

`instalmentHaler` integer povinné

`vatHaler` integer povinné

`accrualReleaseHaler` integer povinné

`expenseHaler` integer povinné

`kind` string povinné

`settlementHaler` integer povinné

`postedOn` null | string povinné date

```bash
curl -X POST https://api.damedoklad.cz/v1/lease-runs \
  -H "Authorization: Bearer $DAMEDOKLAD_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
  "month": "2026-10-30"
}'
```

```javascript
const response = await fetch('https://api.damedoklad.cz/v1/lease-runs', {
  method: 'POST',
  headers: {
    Authorization: `Bearer ${process.env.DAMEDOKLAD_API_KEY}`,
    'Content-Type': 'application/json',
  },
  body: JSON.stringify({
    "month": "2026-10-30"
  }),
});
const data = await response.json();
```

```python
import os
import requests

response = requests.post(
    "https://api.damedoklad.cz/v1/lease-runs",
    headers={"Authorization": f"Bearer {os.environ['DAMEDOKLAD_API_KEY']}"},
    json={
        "month": "2026-10-30"
    },
)
data = response.json()
```

## Seznam: leasing

GET `/v1/leases`

List lease contracts

Nástroj MCP: `list-leases`

### Parametry dotazu

`limit` integer min 1 max 500

`offset` integer min 0 max 9007199254740991

`search` string max 200 chars

### Odpověď · 200

`data` object\[\] povinné

`object` "lease" povinné

`id` string povinné

`name` string povinné

`contractNumber` null | string povinné

`contactId` null | string povinné

`startDate` string povinné date

`months` integer povinné

`downPaymentHaler` integer povinné

`instalmentHaler` integer povinné

`buyoutHaler` integer povinné

`vatRate` integer povinné

`isM1` boolean povinné

`taxGroup` integer | null povinné

`grossAmounts` boolean povinné

`terminatedOn` null | string povinné date

`terminationSettlementHaler` integer povinné

`terminationBeforeMinimum` boolean | null povinné

`actualMonths` integer | null povinné

`status` string povinné

`downPaymentPosted` boolean povinné

`boughtOutOn` null | string povinné date

`assetId` null | string povinné

`note` string | null povinné

`instalments` object\[\]

`object` "lease\_instalment" povinné

`id` string povinné

`leaseId` string povinné

`sequence` integer povinné

`dueOn` string povinné date

`month` string povinné

`instalmentHaler` integer povinné

`vatHaler` integer povinné

`accrualReleaseHaler` integer povinné

`expenseHaler` integer povinné

`kind` string povinné

`settlementHaler` integer povinné

`postedOn` null | string povinné date

`taxYears` object\[\]

`year` integer povinné

`expenseHaler` integer povinné

`deductibleHaler` integer povinné

`asset` null | object

`object` "asset" povinné

`id` string povinné

`inventoryNumber` null | string povinné

`name` string povinné

`status` string povinné

`category` null | string povinné

`acquiredOn` null | string povinné date

`placedOn` null | string povinné date

`disposedOn` string | null povinné

`costHaler` integer povinné

`assetAccount` string povinné

`accumulatedAccount` null | string povinné

`expenseAccount` string povinné

`inProgressAccount` string povinné

`location` string | null povinné

`responsiblePerson` string | null povinné

`physicalDimensions` string | null povinné

`serialNumber` string | null povinné

`note` string | null povinné

`contactId` string | null povinné

`centerId` string | null povinné

`activityId` string | null povinné

`projectId` string | null povinné

`taxMethod` string povinné

`taxGroup` integer | null povinné

`taxVariant` string povinné

`taxEntryPriceHaler` integer | null povinné

`taxStartYear` integer | null povinné

`m1LinkAssetId` string | null povinné

`m1LinkLeaseId` string | null povinné

`firstDepreciator` boolean povinné

`isM1` boolean povinné

`zeroEmission` boolean povinné

`increaseExcluded` boolean povinné

`businessUsePct` integer povinné

`interruptedYears` any\[\] povinné

`evidenceOnlyYears` any\[\] povinné

`reducedFlatRateYears` any\[\] povinné

`rateOverrides` object povinné

`accountingMethod` string povinné

`lifeMonths` integer | null povinné

`residualValueHaler` integer povinné

`totalUnitsMilli` integer | null povinné

`isOpening` boolean povinné

`openingAccumulatedHaler` integer povinné

`openingThroughMonth` string | null povinné

`taxTimeKind` string | null povinné

`taxTimeMonths` integer | null povinné

`taxTimePrecision` string povinné

`taxTimeUnitsMilli` integer | null povinné

`shareNumerator` integer povinné

`shareDenominator` integer povinné

`openingTaxAccumulatedHaler` integer povinné

`openingTaxThroughYear` integer | null povinné

`openingTaxYears` integer | null povinné

`openingTaxDeductibleHaler` integer | null povinné

`openingTaxIncreased` boolean povinné

`createdAt` string povinné date-time

`total` integer

Rows that match, on all pages.

`hasMore` boolean povinné

More rows follow. Ask again with offset + the number of rows received.

```bash
curl https://api.damedoklad.cz/v1/leases \
  -H "Authorization: Bearer $DAMEDOKLAD_API_KEY"
```

```javascript
const response = await fetch('https://api.damedoklad.cz/v1/leases', {
  headers: {
    Authorization: `Bearer ${process.env.DAMEDOKLAD_API_KEY}`,
  },
});
const data = await response.json();
```

```python
import os
import requests

response = requests.get(
    "https://api.damedoklad.cz/v1/leases",
    headers={"Authorization": f"Bearer {os.environ['DAMEDOKLAD_API_KEY']}"},
)
data = response.json()
```

## Vytvoření: leasing

POST `/v1/leases`

Create a lease contract and generate its instalments with 518 expense and 381 accrual release. A VAT payer enters amounts net of VAT. A non-payer has no deduction, so VAT becomes part of the expense: enter net amounts with vatRate, or gross amounts with vatRate 0. If you also record the lessor’s calendar as received invoices, do not post the instalments here as well.

Nástroj MCP: `create-lease`

### Tělo požadavku

`name` string povinné max 200 chars

`contractNumber` string max 500 chars

`contactId` string

ID of the contact. Find it with list-contacts.

`startDate` string povinné YYYY-MM-DD

Date as YYYY-MM-DD.

`months` integer povinné min 1 max 240

`downPaymentHaler` integer min 0 max 9007199254740991

Integer amount in haléře: 100 = 1 Kč.

`instalmentHaler` integer povinné min 0 max 9007199254740991

Integer amount in haléře: 100 = 1 Kč.

`buyoutHaler` integer min 0 max 9007199254740991

Integer amount in haléře: 100 = 1 Kč.

`vatRate` integer min 0 max 100

`isM1` boolean

`taxGroup` integer min 1 max 6

`note` string max 2000 chars

### Odpověď · 201

`id` string povinné

`name` string povinné

`contractNumber` null | string povinné

`contactId` null | string povinné

`startDate` string povinné date

`months` integer povinné

`downPaymentHaler` integer povinné

`instalmentHaler` integer povinné

`buyoutHaler` integer povinné

`vatRate` integer povinné

`isM1` boolean povinné

`taxGroup` integer | null povinné

`grossAmounts` boolean povinné

`terminatedOn` null | string povinné date

`terminationSettlementHaler` integer povinné

`terminationBeforeMinimum` boolean | null povinné

`actualMonths` integer | null povinné

`status` string povinné

`downPaymentPosted` boolean povinné

`boughtOutOn` null | string povinné date

`assetId` null | string povinné

`note` string | null povinné

`instalments` object\[\]

`object` "lease\_instalment" povinné

`id` string povinné

`leaseId` string povinné

`sequence` integer povinné

`dueOn` string povinné date

`month` string povinné

`instalmentHaler` integer povinné

`vatHaler` integer povinné

`accrualReleaseHaler` integer povinné

`expenseHaler` integer povinné

`kind` string povinné

`settlementHaler` integer povinné

`postedOn` null | string povinné date

`taxYears` object\[\]

`year` integer povinné

`expenseHaler` integer povinné

`deductibleHaler` integer povinné

`asset` null | object

`object` "asset" povinné

`id` string povinné

`inventoryNumber` null | string povinné

`name` string povinné

`status` string povinné

`category` null | string povinné

`acquiredOn` null | string povinné date

`placedOn` null | string povinné date

`disposedOn` string | null povinné

`costHaler` integer povinné

`assetAccount` string povinné

`accumulatedAccount` null | string povinné

`expenseAccount` string povinné

`inProgressAccount` string povinné

`location` string | null povinné

`responsiblePerson` string | null povinné

`physicalDimensions` string | null povinné

`serialNumber` string | null povinné

`note` string | null povinné

`contactId` string | null povinné

`centerId` string | null povinné

`activityId` string | null povinné

`projectId` string | null povinné

`taxMethod` string povinné

`taxGroup` integer | null povinné

`taxVariant` string povinné

`taxEntryPriceHaler` integer | null povinné

`taxStartYear` integer | null povinné

`m1LinkAssetId` string | null povinné

`m1LinkLeaseId` string | null povinné

`firstDepreciator` boolean povinné

`isM1` boolean povinné

`zeroEmission` boolean povinné

`increaseExcluded` boolean povinné

`businessUsePct` integer povinné

`interruptedYears` any\[\] povinné

`evidenceOnlyYears` any\[\] povinné

`reducedFlatRateYears` any\[\] povinné

`rateOverrides` object povinné

`accountingMethod` string povinné

`lifeMonths` integer | null povinné

`residualValueHaler` integer povinné

`totalUnitsMilli` integer | null povinné

`isOpening` boolean povinné

`openingAccumulatedHaler` integer povinné

`openingThroughMonth` string | null povinné

`taxTimeKind` string | null povinné

`taxTimeMonths` integer | null povinné

`taxTimePrecision` string povinné

`taxTimeUnitsMilli` integer | null povinné

`shareNumerator` integer povinné

`shareDenominator` integer povinné

`openingTaxAccumulatedHaler` integer povinné

`openingTaxThroughYear` integer | null povinné

`openingTaxYears` integer | null povinné

`openingTaxDeductibleHaler` integer | null povinné

`openingTaxIncreased` boolean povinné

`createdAt` string povinné date-time

```bash
curl -X POST https://api.damedoklad.cz/v1/leases \
  -H "Authorization: Bearer $DAMEDOKLAD_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
  "contactId": "con_2n9F4kT7wQ1xYz0aBcDeFgHiJkL",
  "name": "Pekárna U Lípy s.r.o.",
  "startDate": "2026-10-30",
  "months": 1,
  "instalmentHaler": 1210000
}'
```

```javascript
const response = await fetch('https://api.damedoklad.cz/v1/leases', {
  method: 'POST',
  headers: {
    Authorization: `Bearer ${process.env.DAMEDOKLAD_API_KEY}`,
    'Content-Type': 'application/json',
  },
  body: JSON.stringify({
    "contactId": "con_2n9F4kT7wQ1xYz0aBcDeFgHiJkL",
    "name": "Pekárna U Lípy s.r.o.",
    "startDate": "2026-10-30",
    "months": 1,
    "instalmentHaler": 1210000
  }),
});
const data = await response.json();
```

```python
import os
import requests

response = requests.post(
    "https://api.damedoklad.cz/v1/leases",
    headers={"Authorization": f"Bearer {os.environ['DAMEDOKLAD_API_KEY']}"},
    json={
        "contactId": "con_2n9F4kT7wQ1xYz0aBcDeFgHiJkL",
        "name": "Pekárna U Lípy s.r.o.",
        "startDate": "2026-10-30",
        "months": 1,
        "instalmentHaler": 1210000
    },
)
data = response.json()
```

## Detail: leasing

GET `/v1/leases/{id}`

Get a lease contract with its instalment schedule and yearly tax allocation

Nástroj MCP: `get-lease`

### Parametry v cestě

`id` string povinné

### Odpověď · 200

`id` string povinné

`name` string povinné

`contractNumber` null | string povinné

`contactId` null | string povinné

`startDate` string povinné date

`months` integer povinné

`downPaymentHaler` integer povinné

`instalmentHaler` integer povinné

`buyoutHaler` integer povinné

`vatRate` integer povinné

`isM1` boolean povinné

`taxGroup` integer | null povinné

`grossAmounts` boolean povinné

`terminatedOn` null | string povinné date

`terminationSettlementHaler` integer povinné

`terminationBeforeMinimum` boolean | null povinné

`actualMonths` integer | null povinné

`status` string povinné

`downPaymentPosted` boolean povinné

`boughtOutOn` null | string povinné date

`assetId` null | string povinné

`note` string | null povinné

`instalments` object\[\]

`object` "lease\_instalment" povinné

`id` string povinné

`leaseId` string povinné

`sequence` integer povinné

`dueOn` string povinné date

`month` string povinné

`instalmentHaler` integer povinné

`vatHaler` integer povinné

`accrualReleaseHaler` integer povinné

`expenseHaler` integer povinné

`kind` string povinné

`settlementHaler` integer povinné

`postedOn` null | string povinné date

`taxYears` object\[\]

`year` integer povinné

`expenseHaler` integer povinné

`deductibleHaler` integer povinné

`asset` null | object

`object` "asset" povinné

`id` string povinné

`inventoryNumber` null | string povinné

`name` string povinné

`status` string povinné

`category` null | string povinné

`acquiredOn` null | string povinné date

`placedOn` null | string povinné date

`disposedOn` string | null povinné

`costHaler` integer povinné

`assetAccount` string povinné

`accumulatedAccount` null | string povinné

`expenseAccount` string povinné

`inProgressAccount` string povinné

`location` string | null povinné

`responsiblePerson` string | null povinné

`physicalDimensions` string | null povinné

`serialNumber` string | null povinné

`note` string | null povinné

`contactId` string | null povinné

`centerId` string | null povinné

`activityId` string | null povinné

`projectId` string | null povinné

`taxMethod` string povinné

`taxGroup` integer | null povinné

`taxVariant` string povinné

`taxEntryPriceHaler` integer | null povinné

`taxStartYear` integer | null povinné

`m1LinkAssetId` string | null povinné

`m1LinkLeaseId` string | null povinné

`firstDepreciator` boolean povinné

`isM1` boolean povinné

`zeroEmission` boolean povinné

`increaseExcluded` boolean povinné

`businessUsePct` integer povinné

`interruptedYears` any\[\] povinné

`evidenceOnlyYears` any\[\] povinné

`reducedFlatRateYears` any\[\] povinné

`rateOverrides` object povinné

`accountingMethod` string povinné

`lifeMonths` integer | null povinné

`residualValueHaler` integer povinné

`totalUnitsMilli` integer | null povinné

`isOpening` boolean povinné

`openingAccumulatedHaler` integer povinné

`openingThroughMonth` string | null povinné

`taxTimeKind` string | null povinné

`taxTimeMonths` integer | null povinné

`taxTimePrecision` string povinné

`taxTimeUnitsMilli` integer | null povinné

`shareNumerator` integer povinné

`shareDenominator` integer povinné

`openingTaxAccumulatedHaler` integer povinné

`openingTaxThroughYear` integer | null povinné

`openingTaxYears` integer | null povinné

`openingTaxDeductibleHaler` integer | null povinné

`openingTaxIncreased` boolean povinné

`createdAt` string povinné date-time

```bash
curl https://api.damedoklad.cz/v1/leases/ast_2n9F4kT7wQ1xYz0aBcDeFgHiJkL \
  -H "Authorization: Bearer $DAMEDOKLAD_API_KEY"
```

```javascript
const response = await fetch('https://api.damedoklad.cz/v1/leases/ast_2n9F4kT7wQ1xYz0aBcDeFgHiJkL', {
  headers: {
    Authorization: `Bearer ${process.env.DAMEDOKLAD_API_KEY}`,
  },
});
const data = await response.json();
```

```python
import os
import requests

response = requests.get(
    "https://api.damedoklad.cz/v1/leases/ast_2n9F4kT7wQ1xYz0aBcDeFgHiJkL",
    headers={"Authorization": f"Bearer {os.environ['DAMEDOKLAD_API_KEY']}"},
)
data = response.json()
```

## Smazání: leasing

DELETE `/v1/leases/{id}`

Delete a lease contract that has no posted payments

Nevratná operaceTato operace se nedá vrátit. MCP klienti se před ní ptají na potvrzení.

Nástroj MCP: `delete-lease`

### Parametry v cestě

`id` string povinné

### Odpověď · 200

`id` string povinné

`deleted` boolean povinné

```bash
curl -X DELETE https://api.damedoklad.cz/v1/leases/ast_2n9F4kT7wQ1xYz0aBcDeFgHiJkL \
  -H "Authorization: Bearer $DAMEDOKLAD_API_KEY"
```

```javascript
const response = await fetch('https://api.damedoklad.cz/v1/leases/ast_2n9F4kT7wQ1xYz0aBcDeFgHiJkL', {
  method: 'DELETE',
  headers: {
    Authorization: `Bearer ${process.env.DAMEDOKLAD_API_KEY}`,
  },
});
const data = await response.json();
```

```python
import os
import requests

response = requests.delete(
    "https://api.damedoklad.cz/v1/leases/ast_2n9F4kT7wQ1xYz0aBcDeFgHiJkL",
    headers={"Authorization": f"Bearer {os.environ['DAMEDOKLAD_API_KEY']}"},
)
data = response.json()
```

## Buy out the leased asset: MD 042 + 343 / D 321, creates the asset and places it in service

POST `/v1/leases/{id}/buyout`

Buy out the leased asset: MD 042 + 343 / D 321, creates the asset and places it in service. A buyout up to 80 000 Kč is expensed instead (§ 27 písm. a) and § 24 odst. 2 písm. zl) ZDP), and no asset is created.

Nástroj MCP: `buy-out-lease`

### Parametry v cestě

`id` string povinné

### Tělo požadavku

`date` string povinné YYYY-MM-DD

Date as YYYY-MM-DD.

`assetName` string max 200 chars

`taxGroup` integer min 1 max 6

`accountingMethod` "straight\_line" | "performance" | "equal\_to\_tax" | "none"

`lifeMonths` integer min 1 max 1200

`method` "transfer" | "cash" | "card"

### Odpověď · 200

`id` string povinné

`name` string povinné

`contractNumber` null | string povinné

`contactId` null | string povinné

`startDate` string povinné date

`months` integer povinné

`downPaymentHaler` integer povinné

`instalmentHaler` integer povinné

`buyoutHaler` integer povinné

`vatRate` integer povinné

`isM1` boolean povinné

`taxGroup` integer | null povinné

`grossAmounts` boolean povinné

`terminatedOn` null | string povinné date

`terminationSettlementHaler` integer povinné

`terminationBeforeMinimum` boolean | null povinné

`actualMonths` integer | null povinné

`status` string povinné

`downPaymentPosted` boolean povinné

`boughtOutOn` null | string povinné date

`assetId` null | string povinné

`note` string | null povinné

`instalments` object\[\]

`object` "lease\_instalment" povinné

`id` string povinné

`leaseId` string povinné

`sequence` integer povinné

`dueOn` string povinné date

`month` string povinné

`instalmentHaler` integer povinné

`vatHaler` integer povinné

`accrualReleaseHaler` integer povinné

`expenseHaler` integer povinné

`kind` string povinné

`settlementHaler` integer povinné

`postedOn` null | string povinné date

`taxYears` object\[\]

`year` integer povinné

`expenseHaler` integer povinné

`deductibleHaler` integer povinné

`asset` null | object

`object` "asset" povinné

`id` string povinné

`inventoryNumber` null | string povinné

`name` string povinné

`status` string povinné

`category` null | string povinné

`acquiredOn` null | string povinné date

`placedOn` null | string povinné date

`disposedOn` string | null povinné

`costHaler` integer povinné

`assetAccount` string povinné

`accumulatedAccount` null | string povinné

`expenseAccount` string povinné

`inProgressAccount` string povinné

`location` string | null povinné

`responsiblePerson` string | null povinné

`physicalDimensions` string | null povinné

`serialNumber` string | null povinné

`note` string | null povinné

`contactId` string | null povinné

`centerId` string | null povinné

`activityId` string | null povinné

`projectId` string | null povinné

`taxMethod` string povinné

`taxGroup` integer | null povinné

`taxVariant` string povinné

`taxEntryPriceHaler` integer | null povinné

`taxStartYear` integer | null povinné

`m1LinkAssetId` string | null povinné

`m1LinkLeaseId` string | null povinné

`firstDepreciator` boolean povinné

`isM1` boolean povinné

`zeroEmission` boolean povinné

`increaseExcluded` boolean povinné

`businessUsePct` integer povinné

`interruptedYears` any\[\] povinné

`evidenceOnlyYears` any\[\] povinné

`reducedFlatRateYears` any\[\] povinné

`rateOverrides` object povinné

`accountingMethod` string povinné

`lifeMonths` integer | null povinné

`residualValueHaler` integer povinné

`totalUnitsMilli` integer | null povinné

`isOpening` boolean povinné

`openingAccumulatedHaler` integer povinné

`openingThroughMonth` string | null povinné

`taxTimeKind` string | null povinné

`taxTimeMonths` integer | null povinné

`taxTimePrecision` string povinné

`taxTimeUnitsMilli` integer | null povinné

`shareNumerator` integer povinné

`shareDenominator` integer povinné

`openingTaxAccumulatedHaler` integer povinné

`openingTaxThroughYear` integer | null povinné

`openingTaxYears` integer | null povinné

`openingTaxDeductibleHaler` integer | null povinné

`openingTaxIncreased` boolean povinné

`createdAt` string povinné date-time

```bash
curl -X POST https://api.damedoklad.cz/v1/leases/ast_2n9F4kT7wQ1xYz0aBcDeFgHiJkL/buyout \
  -H "Authorization: Bearer $DAMEDOKLAD_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
  "date": "2026-10-30"
}'
```

```javascript
const response = await fetch('https://api.damedoklad.cz/v1/leases/ast_2n9F4kT7wQ1xYz0aBcDeFgHiJkL/buyout', {
  method: 'POST',
  headers: {
    Authorization: `Bearer ${process.env.DAMEDOKLAD_API_KEY}`,
    'Content-Type': 'application/json',
  },
  body: JSON.stringify({
    "date": "2026-10-30"
  }),
});
const data = await response.json();
```

```python
import os
import requests

response = requests.post(
    "https://api.damedoklad.cz/v1/leases/ast_2n9F4kT7wQ1xYz0aBcDeFgHiJkL/buyout",
    headers={"Authorization": f"Bearer {os.environ['DAMEDOKLAD_API_KEY']}"},
    json={
        "date": "2026-10-30"
    },
)
data = response.json()
```

## Post the increased first payment: MD 381 + 343 / D 321 in double entry, a non-deductible cash row otherwise

POST `/v1/leases/{id}/down-payment`

Post the increased first payment: MD 381 + 343 / D 321 in double entry, a non-deductible cash row otherwise

Nástroj MCP: `post-lease-down-payment`

### Parametry v cestě

`id` string povinné

### Tělo požadavku

`date` string YYYY-MM-DD

Date as YYYY-MM-DD.

`method` "transfer" | "cash" | "card"

### Odpověď · 200

`id` string povinné

`name` string povinné

`contractNumber` null | string povinné

`contactId` null | string povinné

`startDate` string povinné date

`months` integer povinné

`downPaymentHaler` integer povinné

`instalmentHaler` integer povinné

`buyoutHaler` integer povinné

`vatRate` integer povinné

`isM1` boolean povinné

`taxGroup` integer | null povinné

`grossAmounts` boolean povinné

`terminatedOn` null | string povinné date

`terminationSettlementHaler` integer povinné

`terminationBeforeMinimum` boolean | null povinné

`actualMonths` integer | null povinné

`status` string povinné

`downPaymentPosted` boolean povinné

`boughtOutOn` null | string povinné date

`assetId` null | string povinné

`note` string | null povinné

`instalments` object\[\]

`object` "lease\_instalment" povinné

`id` string povinné

`leaseId` string povinné

`sequence` integer povinné

`dueOn` string povinné date

`month` string povinné

`instalmentHaler` integer povinné

`vatHaler` integer povinné

`accrualReleaseHaler` integer povinné

`expenseHaler` integer povinné

`kind` string povinné

`settlementHaler` integer povinné

`postedOn` null | string povinné date

`taxYears` object\[\]

`year` integer povinné

`expenseHaler` integer povinné

`deductibleHaler` integer povinné

`asset` null | object

`object` "asset" povinné

`id` string povinné

`inventoryNumber` null | string povinné

`name` string povinné

`status` string povinné

`category` null | string povinné

`acquiredOn` null | string povinné date

`placedOn` null | string povinné date

`disposedOn` string | null povinné

`costHaler` integer povinné

`assetAccount` string povinné

`accumulatedAccount` null | string povinné

`expenseAccount` string povinné

`inProgressAccount` string povinné

`location` string | null povinné

`responsiblePerson` string | null povinné

`physicalDimensions` string | null povinné

`serialNumber` string | null povinné

`note` string | null povinné

`contactId` string | null povinné

`centerId` string | null povinné

`activityId` string | null povinné

`projectId` string | null povinné

`taxMethod` string povinné

`taxGroup` integer | null povinné

`taxVariant` string povinné

`taxEntryPriceHaler` integer | null povinné

`taxStartYear` integer | null povinné

`m1LinkAssetId` string | null povinné

`m1LinkLeaseId` string | null povinné

`firstDepreciator` boolean povinné

`isM1` boolean povinné

`zeroEmission` boolean povinné

`increaseExcluded` boolean povinné

`businessUsePct` integer povinné

`interruptedYears` any\[\] povinné

`evidenceOnlyYears` any\[\] povinné

`reducedFlatRateYears` any\[\] povinné

`rateOverrides` object povinné

`accountingMethod` string povinné

`lifeMonths` integer | null povinné

`residualValueHaler` integer povinné

`totalUnitsMilli` integer | null povinné

`isOpening` boolean povinné

`openingAccumulatedHaler` integer povinné

`openingThroughMonth` string | null povinné

`taxTimeKind` string | null povinné

`taxTimeMonths` integer | null povinné

`taxTimePrecision` string povinné

`taxTimeUnitsMilli` integer | null povinné

`shareNumerator` integer povinné

`shareDenominator` integer povinné

`openingTaxAccumulatedHaler` integer povinné

`openingTaxThroughYear` integer | null povinné

`openingTaxYears` integer | null povinné

`openingTaxDeductibleHaler` integer | null povinné

`openingTaxIncreased` boolean povinné

`createdAt` string povinné date-time

```bash
curl -X POST https://api.damedoklad.cz/v1/leases/ast_2n9F4kT7wQ1xYz0aBcDeFgHiJkL/down-payment \
  -H "Authorization: Bearer $DAMEDOKLAD_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
  "date": "2026-10-30",
  "method": "transfer"
}'
```

```javascript
const response = await fetch('https://api.damedoklad.cz/v1/leases/ast_2n9F4kT7wQ1xYz0aBcDeFgHiJkL/down-payment', {
  method: 'POST',
  headers: {
    Authorization: `Bearer ${process.env.DAMEDOKLAD_API_KEY}`,
    'Content-Type': 'application/json',
  },
  body: JSON.stringify({
    "date": "2026-10-30",
    "method": "transfer"
  }),
});
const data = await response.json();
```

```python
import os
import requests

response = requests.post(
    "https://api.damedoklad.cz/v1/leases/ast_2n9F4kT7wQ1xYz0aBcDeFgHiJkL/down-payment",
    headers={"Authorization": f"Bearer {os.environ['DAMEDOKLAD_API_KEY']}"},
    json={
        "date": "2026-10-30",
        "method": "transfer"
    },
)
data = response.json()
```

## Post one instalment: MD 518 + 343 / D 321 and the MD 518 / D 381 release in double entry, a non-deductible cash row otherwise

POST `/v1/leases/{id}/instalments/{sequence}/post`

Post one instalment: MD 518 + 343 / D 321 and the MD 518 / D 381 release in double entry, a non-deductible cash row otherwise

Nástroj MCP: `post-lease-instalment`

### Parametry v cestě

`id` string povinné

`sequence` string povinné

### Tělo požadavku

`date` string YYYY-MM-DD

Date as YYYY-MM-DD.

`method` "transfer" | "cash" | "card"

### Odpověď · 200

`id` string povinné

`leaseId` string povinné

`sequence` integer povinné

`dueOn` string povinné date

`month` string povinné

`instalmentHaler` integer povinné

`vatHaler` integer povinné

`accrualReleaseHaler` integer povinné

`expenseHaler` integer povinné

`kind` string povinné

`settlementHaler` integer povinné

`postedOn` null | string povinné date

```bash
curl -X POST https://api.damedoklad.cz/v1/leases/ast_2n9F4kT7wQ1xYz0aBcDeFgHiJkL/instalments/obj_2n9F4kT7wQ1xYz0aBcDeFgHiJkL/post \
  -H "Authorization: Bearer $DAMEDOKLAD_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
  "date": "2026-10-30",
  "method": "transfer"
}'
```

```javascript
const response = await fetch('https://api.damedoklad.cz/v1/leases/ast_2n9F4kT7wQ1xYz0aBcDeFgHiJkL/instalments/obj_2n9F4kT7wQ1xYz0aBcDeFgHiJkL/post', {
  method: 'POST',
  headers: {
    Authorization: `Bearer ${process.env.DAMEDOKLAD_API_KEY}`,
    'Content-Type': 'application/json',
  },
  body: JSON.stringify({
    "date": "2026-10-30",
    "method": "transfer"
  }),
});
const data = await response.json();
```

```python
import os
import requests

response = requests.post(
    "https://api.damedoklad.cz/v1/leases/ast_2n9F4kT7wQ1xYz0aBcDeFgHiJkL/instalments/obj_2n9F4kT7wQ1xYz0aBcDeFgHiJkL/post",
    headers={"Authorization": f"Bearer {os.environ['DAMEDOKLAD_API_KEY']}"},
    json={
        "date": "2026-10-30",
        "method": "transfer"
    },
)
data = response.json()
```

## Add an improvement or a user-paid cost of a leased M1 vehicle as a jiný majetek on its own card, sharing the limit with the lease (§ 30f odst. 5 až 8 ZDP)

POST `/v1/leases/{id}/other-assets`

Add an improvement or a user-paid cost of a leased M1 vehicle as a jiný majetek on its own card, sharing the limit with the lease (§ 30f odst. 5 až 8 ZDP). The first one sets the ratio of § 30f odst. 6, a further one odst. 7, buying the car out odst. 8, and from then the lease instalments use the same ratio (odst. 1 věta druhá).

Nástroj MCP: `add-lease-other-asset`

### Parametry v cestě

`id` string povinné

### Tělo požadavku

`name` string povinné max 500 chars

`completedOn` string povinné YYYY-MM-DD

Date as YYYY-MM-DD.

`amountHaler` integer povinné min 1 max 9007199254740991

Integer amount in haléře: 100 = 1 Kč.

`taxGroup` integer min 1 max 6

`taxMethod` "straight" | "accelerated"

`creditAccount` string

`note` string max 2000 chars

### Odpověď · 201

`id` string povinné

`inventoryNumber` null | string povinné

`name` string povinné

`status` string povinné

`category` null | string povinné

`acquiredOn` null | string povinné date

`placedOn` null | string povinné date

`disposedOn` null | string povinné date

`costHaler` integer povinné

`assetAccount` string povinné

`accumulatedAccount` null | string povinné

`expenseAccount` string povinné

`inProgressAccount` string povinné

`location` null | string povinné

`responsiblePerson` null | string povinné

`physicalDimensions` null | string povinné

`serialNumber` string | null povinné

`note` string | null povinné

`contactId` null | string povinné

`centerId` null | string povinné

`activityId` string | null povinné

`projectId` string | null povinné

`taxMethod` string povinné

`taxGroup` integer | null povinné

`taxVariant` string povinné

`taxEntryPriceHaler` integer | null povinné

`taxStartYear` integer | null povinné

`m1LinkAssetId` null | string povinné

`m1LinkLeaseId` null | string povinné

`firstDepreciator` boolean povinné

`isM1` boolean povinné

`zeroEmission` boolean povinné

`increaseExcluded` boolean povinné

`businessUsePct` integer povinné

`interruptedYears` integer\[\] povinné

`evidenceOnlyYears` integer\[\] povinné

`reducedFlatRateYears` integer\[\] povinné

`rateOverrides` object povinné

`accountingMethod` string povinné

`lifeMonths` integer | null povinné

`residualValueHaler` integer povinné

`totalUnitsMilli` integer | null povinné

`isOpening` boolean povinné

`openingAccumulatedHaler` integer povinné

`openingThroughMonth` null | string povinné

`taxTimeKind` null | string povinné

`taxTimeMonths` integer | null povinné

`taxTimePrecision` string povinné

`taxTimeUnitsMilli` integer | null povinné

`shareNumerator` integer povinné

`shareDenominator` integer povinné

`openingTaxAccumulatedHaler` integer povinné

`openingTaxThroughYear` integer | null povinné

`openingTaxYears` integer | null povinné

`openingTaxDeductibleHaler` integer | null povinné

`openingTaxIncreased` boolean povinné

`createdAt` string povinné date-time

`totalCostHaler` integer

`improvementsHaler` integer

`accumulatedHaler` integer

`bookValueHaler` integer

`improvements` any\[\]

`usage` any\[\]

`partialDisposals` object\[\]

`object` "asset\_partial\_disposal" povinné

`id` string povinné

`assetId` string povinné

`kind` string povinné

`disposedOn` string povinné date

`partCostHaler` integer povinné

`partTaxPriceHaler` integer povinné

`accountingAccumulatedHaler` integer povinné

`accountingResidualHaler` integer povinné

`taxDepreciationHaler` integer povinné

`taxResidualHaler` integer povinné

`taxDeductibleHaler` integer povinné

`saleHaler` integer povinné

`saleVatHaler` integer povinné

`compensationHaler` integer povinné

`toShareNumerator` integer | null povinné

`toShareDenominator` integer | null povinné

`journalEntryId` null | string povinné

`status` string povinné

`note` string | null povinné

`shareChanges` object\[\]

`object` "asset\_share\_change" povinné

`id` string povinné

`assetId` string povinné

`changedOn` string povinné date

`fromNumerator` integer povinné

`fromDenominator` integer povinné

`toNumerator` integer povinné

`toDenominator` integer povinné

`addedPriceHaler` integer povinné

`continuing` boolean povinné

`addedResidualHaler` integer | null povinné

`journalEntryId` null | string povinné

`status` string

`note` string | null povinné

`priceChanges` object\[\]

`object` "asset\_price\_change" povinné

`id` string povinné

`assetId` string povinné

`changedOn` string povinné date

`amountHaler` integer povinné

`reason` string povinné

`accountingAmountHaler` integer povinné

`journalEntryId` null | string povinné

`status` string povinné

`note` null | string povinné

`createdAt` string povinné date-time

`assignments` object\[\]

`object` "asset\_assignment" povinné

`id` string povinné

`assetId` string povinné

`effectiveOn` string povinné date

`location` null | string povinné

`responsiblePerson` null | string povinné

`centerId` null | string povinné

`activityId` string | null povinné

`projectId` string | null povinné

`source` string povinné

`note` null | string povinné

`acquisitionLines` object\[\]

`object` "asset\_acquisition\_line" povinné

`id` string povinné

`assetId` string povinné

`invoiceId` null | string povinné

`lineId` string povinné

`amountHaler` integer povinné

```bash
curl -X POST https://api.damedoklad.cz/v1/leases/ast_2n9F4kT7wQ1xYz0aBcDeFgHiJkL/other-assets \
  -H "Authorization: Bearer $DAMEDOKLAD_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
  "name": "Pekárna U Lípy s.r.o.",
  "completedOn": "2026-10-30",
  "amountHaler": 1210000
}'
```

```javascript
const response = await fetch('https://api.damedoklad.cz/v1/leases/ast_2n9F4kT7wQ1xYz0aBcDeFgHiJkL/other-assets', {
  method: 'POST',
  headers: {
    Authorization: `Bearer ${process.env.DAMEDOKLAD_API_KEY}`,
    'Content-Type': 'application/json',
  },
  body: JSON.stringify({
    "name": "Pekárna U Lípy s.r.o.",
    "completedOn": "2026-10-30",
    "amountHaler": 1210000
  }),
});
const data = await response.json();
```

```python
import os
import requests

response = requests.post(
    "https://api.damedoklad.cz/v1/leases/ast_2n9F4kT7wQ1xYz0aBcDeFgHiJkL/other-assets",
    headers={"Authorization": f"Bearer {os.environ['DAMEDOKLAD_API_KEY']}"},
    json={
        "name": "Pekárna U Lípy s.r.o.",
        "completedOn": "2026-10-30",
        "amountHaler": 1210000
    },
)
data = response.json()
```

## End a lease early: cancels unposted instalments, releases the rest of the deferred down payment, and posts the settlement

POST `/v1/leases/{id}/terminate`

End a lease early: cancels unposted instalments, releases the rest of the deferred down payment, and posts the settlement. Before the minimum term of § 21d odst. 2 ZDP (set taxGroup on the lease) deductible cost is limited by § 24 odst. 6. After it, the lease counts as rent from the start (§ 21d odst. 4). For closed years compare taxYears with what you filed: a change may need a dodatečné přiznání.

Nevratná operaceTato operace se nedá vrátit. MCP klienti se před ní ptají na potvrzení.

Nástroj MCP: `terminate-lease`

### Parametry v cestě

`id` string povinné

### Tělo požadavku

`date` string povinné YYYY-MM-DD

Date as YYYY-MM-DD.

`settlementHaler` integer min 0 max 9007199254740991

Integer amount in haléře: 100 = 1 Kč.

`settlementVatHaler` integer min 0 max 9007199254740991

Integer amount in haléře: 100 = 1 Kč.

`compensationHaler` integer min 0 max 9007199254740991

Integer amount in haléře: 100 = 1 Kč.

`method` "transfer" | "cash" | "card"

`note` string max 2000 chars

### Odpověď · 200

`id` string povinné

`name` string povinné

`contractNumber` null | string povinné

`contactId` null | string povinné

`startDate` string povinné date

`months` integer povinné

`downPaymentHaler` integer povinné

`instalmentHaler` integer povinné

`buyoutHaler` integer povinné

`vatRate` integer povinné

`isM1` boolean povinné

`taxGroup` integer | null povinné

`grossAmounts` boolean povinné

`terminatedOn` null | string povinné date

`terminationSettlementHaler` integer povinné

`terminationBeforeMinimum` boolean | null povinné

`actualMonths` integer | null povinné

`status` string povinné

`downPaymentPosted` boolean povinné

`boughtOutOn` null | string povinné date

`assetId` null | string povinné

`note` string | null povinné

`instalments` object\[\]

`object` "lease\_instalment" povinné

`id` string povinné

`leaseId` string povinné

`sequence` integer povinné

`dueOn` string povinné date

`month` string povinné

`instalmentHaler` integer povinné

`vatHaler` integer povinné

`accrualReleaseHaler` integer povinné

`expenseHaler` integer povinné

`kind` string povinné

`settlementHaler` integer povinné

`postedOn` null | string povinné date

`taxYears` object\[\]

`year` integer povinné

`expenseHaler` integer povinné

`deductibleHaler` integer povinné

`asset` null | object

`object` "asset" povinné

`id` string povinné

`inventoryNumber` null | string povinné

`name` string povinné

`status` string povinné

`category` null | string povinné

`acquiredOn` null | string povinné date

`placedOn` null | string povinné date

`disposedOn` string | null povinné

`costHaler` integer povinné

`assetAccount` string povinné

`accumulatedAccount` null | string povinné

`expenseAccount` string povinné

`inProgressAccount` string povinné

`location` string | null povinné

`responsiblePerson` string | null povinné

`physicalDimensions` string | null povinné

`serialNumber` string | null povinné

`note` string | null povinné

`contactId` string | null povinné

`centerId` string | null povinné

`activityId` string | null povinné

`projectId` string | null povinné

`taxMethod` string povinné

`taxGroup` integer | null povinné

`taxVariant` string povinné

`taxEntryPriceHaler` integer | null povinné

`taxStartYear` integer | null povinné

`m1LinkAssetId` string | null povinné

`m1LinkLeaseId` string | null povinné

`firstDepreciator` boolean povinné

`isM1` boolean povinné

`zeroEmission` boolean povinné

`increaseExcluded` boolean povinné

`businessUsePct` integer povinné

`interruptedYears` any\[\] povinné

`evidenceOnlyYears` any\[\] povinné

`reducedFlatRateYears` any\[\] povinné

`rateOverrides` object povinné

`accountingMethod` string povinné

`lifeMonths` integer | null povinné

`residualValueHaler` integer povinné

`totalUnitsMilli` integer | null povinné

`isOpening` boolean povinné

`openingAccumulatedHaler` integer povinné

`openingThroughMonth` string | null povinné

`taxTimeKind` string | null povinné

`taxTimeMonths` integer | null povinné

`taxTimePrecision` string povinné

`taxTimeUnitsMilli` integer | null povinné

`shareNumerator` integer povinné

`shareDenominator` integer povinné

`openingTaxAccumulatedHaler` integer povinné

`openingTaxThroughYear` integer | null povinné

`openingTaxYears` integer | null povinné

`openingTaxDeductibleHaler` integer | null povinné

`openingTaxIncreased` boolean povinné

`createdAt` string povinné date-time

```bash
curl -X POST https://api.damedoklad.cz/v1/leases/ast_2n9F4kT7wQ1xYz0aBcDeFgHiJkL/terminate \
  -H "Authorization: Bearer $DAMEDOKLAD_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
  "date": "2026-10-30"
}'
```

```javascript
const response = await fetch('https://api.damedoklad.cz/v1/leases/ast_2n9F4kT7wQ1xYz0aBcDeFgHiJkL/terminate', {
  method: 'POST',
  headers: {
    Authorization: `Bearer ${process.env.DAMEDOKLAD_API_KEY}`,
    'Content-Type': 'application/json',
  },
  body: JSON.stringify({
    "date": "2026-10-30"
  }),
});
const data = await response.json();
```

```python
import os
import requests

response = requests.post(
    "https://api.damedoklad.cz/v1/leases/ast_2n9F4kT7wQ1xYz0aBcDeFgHiJkL/terminate",
    headers={"Authorization": f"Bearer {os.environ['DAMEDOKLAD_API_KEY']}"},
    json={
        "date": "2026-10-30"
    },
)
data = response.json()
```

## List small assets (drobný majetek), kept in a register without depreciation

GET `/v1/small-assets`

List small assets (drobný majetek), kept in a register without depreciation

Nástroj MCP: `list-small-assets`

### Parametry dotazu

`limit` integer min 1 max 500

`offset` integer min 0 max 9007199254740991

`search` string max 200 chars

`from` string YYYY-MM-DD

Date as YYYY-MM-DD.

`to` string YYYY-MM-DD

Date as YYYY-MM-DD.

`status` "active" | "disposed"

### Odpověď · 200

`data` object\[\] povinné

`object` "small\_asset" povinné

`id` string povinné

`inventoryNumber` null | string povinné

`name` string povinné

`acquiredOn` string povinné date

`costHaler` integer povinné

`quantityMilli` integer povinné

`location` null | string povinné

`responsiblePerson` string | null povinné

`note` string | null povinné

`status` string povinné

`disposedOn` null | string povinné date

`disposalReason` null | string povinné

`writtenOffOn` null | string povinné date

`creditAccount` null | string povinné

`journalEntryId` null | string povinné

`total` integer

Rows that match, on all pages.

`hasMore` boolean povinné

More rows follow. Ask again with offset + the number of rows received.

```bash
curl https://api.damedoklad.cz/v1/small-assets \
  -H "Authorization: Bearer $DAMEDOKLAD_API_KEY"
```

```javascript
const response = await fetch('https://api.damedoklad.cz/v1/small-assets', {
  headers: {
    Authorization: `Bearer ${process.env.DAMEDOKLAD_API_KEY}`,
  },
});
const data = await response.json();
```

```python
import os
import requests

response = requests.get(
    "https://api.damedoklad.cz/v1/small-assets",
    headers={"Authorization": f"Bearer {os.environ['DAMEDOKLAD_API_KEY']}"},
)
data = response.json()
```

## Add a small asset to the register, optionally writing it off at once (MD 501 / D 112 in double entry)

POST `/v1/small-assets`

Add a small asset to the register, optionally writing it off at once (MD 501 / D 112 in double entry)

Nástroj MCP: `create-small-asset`

### Tělo požadavku

`name` string povinné max 200 chars

`inventoryNumber` string max 500 chars

`acquiredOn` string povinné YYYY-MM-DD

Date as YYYY-MM-DD.

`costHaler` integer povinné min 0 max 9007199254740991

Integer amount in haléře: 100 = 1 Kč.

`quantityMilli` integer min 1 max 9007199254740991

Integer thousandths: 1500 means 1.5.

`location` string max 500 chars

`responsiblePerson` string max 500 chars

`note` string max 2000 chars

`writeOff` boolean

`creditAccount` string

### Odpověď · 201

`id` string povinné

`inventoryNumber` null | string povinné

`name` string povinné

`acquiredOn` string povinné date

`costHaler` integer povinné

`quantityMilli` integer povinné

`location` null | string povinné

`responsiblePerson` string | null povinné

`note` string | null povinné

`status` string povinné

`disposedOn` null | string povinné date

`disposalReason` null | string povinné

`writtenOffOn` null | string povinné date

`creditAccount` null | string povinné

`journalEntryId` null | string povinné

```bash
curl -X POST https://api.damedoklad.cz/v1/small-assets \
  -H "Authorization: Bearer $DAMEDOKLAD_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
  "name": "Pekárna U Lípy s.r.o.",
  "acquiredOn": "2026-10-30",
  "costHaler": 1210000
}'
```

```javascript
const response = await fetch('https://api.damedoklad.cz/v1/small-assets', {
  method: 'POST',
  headers: {
    Authorization: `Bearer ${process.env.DAMEDOKLAD_API_KEY}`,
    'Content-Type': 'application/json',
  },
  body: JSON.stringify({
    "name": "Pekárna U Lípy s.r.o.",
    "acquiredOn": "2026-10-30",
    "costHaler": 1210000
  }),
});
const data = await response.json();
```

```python
import os
import requests

response = requests.post(
    "https://api.damedoklad.cz/v1/small-assets",
    headers={"Authorization": f"Bearer {os.environ['DAMEDOKLAD_API_KEY']}"},
    json={
        "name": "Pekárna U Lípy s.r.o.",
        "acquiredOn": "2026-10-30",
        "costHaler": 1210000
    },
)
data = response.json()
```

## Update a small asset; the price locks after the write-off

PATCH `/v1/small-assets/{id}`

Update a small asset; the price locks after the write-off

Nástroj MCP: `update-small-asset`

### Parametry v cestě

`id` string povinné

### Tělo požadavku

`name` string max 200 chars

`inventoryNumber` string max 500 chars

`acquiredOn` string YYYY-MM-DD

Date as YYYY-MM-DD.

`costHaler` integer min 0 max 9007199254740991

Integer amount in haléře: 100 = 1 Kč.

`quantityMilli` integer min 1 max 9007199254740991

Integer thousandths: 1500 means 1.5.

`location` string max 500 chars

`responsiblePerson` string max 500 chars

`note` string max 2000 chars

### Odpověď · 200

`id` string povinné

`inventoryNumber` null | string povinné

`name` string povinné

`acquiredOn` string povinné date

`costHaler` integer povinné

`quantityMilli` integer povinné

`location` null | string povinné

`responsiblePerson` string | null povinné

`note` string | null povinné

`status` string povinné

`disposedOn` null | string povinné date

`disposalReason` null | string povinné

`writtenOffOn` null | string povinné date

`creditAccount` null | string povinné

`journalEntryId` null | string povinné

```bash
curl -X PATCH https://api.damedoklad.cz/v1/small-assets/ast_2n9F4kT7wQ1xYz0aBcDeFgHiJkL \
  -H "Authorization: Bearer $DAMEDOKLAD_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
  "name": "Pekárna U Lípy s.r.o.",
  "inventoryNumber": "string",
  "acquiredOn": "2026-10-30"
}'
```

```javascript
const response = await fetch('https://api.damedoklad.cz/v1/small-assets/ast_2n9F4kT7wQ1xYz0aBcDeFgHiJkL', {
  method: 'PATCH',
  headers: {
    Authorization: `Bearer ${process.env.DAMEDOKLAD_API_KEY}`,
    'Content-Type': 'application/json',
  },
  body: JSON.stringify({
    "name": "Pekárna U Lípy s.r.o.",
    "inventoryNumber": "string",
    "acquiredOn": "2026-10-30"
  }),
});
const data = await response.json();
```

```python
import os
import requests

response = requests.patch(
    "https://api.damedoklad.cz/v1/small-assets/ast_2n9F4kT7wQ1xYz0aBcDeFgHiJkL",
    headers={"Authorization": f"Bearer {os.environ['DAMEDOKLAD_API_KEY']}"},
    json={
        "name": "Pekárna U Lípy s.r.o.",
        "inventoryNumber": "string",
        "acquiredOn": "2026-10-30"
    },
)
data = response.json()
```

## Delete a small asset that has no write-off posting

DELETE `/v1/small-assets/{id}`

Delete a small asset that has no write-off posting

Nevratná operaceTato operace se nedá vrátit. MCP klienti se před ní ptají na potvrzení.

Nástroj MCP: `delete-small-asset`

### Parametry v cestě

`id` string povinné

### Odpověď · 200

`id` string povinné

`deleted` boolean povinné

```bash
curl -X DELETE https://api.damedoklad.cz/v1/small-assets/ast_2n9F4kT7wQ1xYz0aBcDeFgHiJkL \
  -H "Authorization: Bearer $DAMEDOKLAD_API_KEY"
```

```javascript
const response = await fetch('https://api.damedoklad.cz/v1/small-assets/ast_2n9F4kT7wQ1xYz0aBcDeFgHiJkL', {
  method: 'DELETE',
  headers: {
    Authorization: `Bearer ${process.env.DAMEDOKLAD_API_KEY}`,
  },
});
const data = await response.json();
```

```python
import os
import requests

response = requests.delete(
    "https://api.damedoklad.cz/v1/small-assets/ast_2n9F4kT7wQ1xYz0aBcDeFgHiJkL",
    headers={"Authorization": f"Bearer {os.environ['DAMEDOKLAD_API_KEY']}"},
)
data = response.json()
```

## Take a small asset off the register; nothing is posted because it is already expensed

POST `/v1/small-assets/{id}/dispose`

Take a small asset off the register; nothing is posted because it is already expensed

Nástroj MCP: `dispose-small-asset`

### Parametry v cestě

`id` string povinné

### Tělo požadavku

`date` string povinné YYYY-MM-DD

Date as YYYY-MM-DD.

`reason` string max 500 chars

### Odpověď · 200

`id` string povinné

`inventoryNumber` null | string povinné

`name` string povinné

`acquiredOn` string povinné date

`costHaler` integer povinné

`quantityMilli` integer povinné

`location` null | string povinné

`responsiblePerson` string | null povinné

`note` string | null povinné

`status` string povinné

`disposedOn` null | string povinné date

`disposalReason` null | string povinné

`writtenOffOn` null | string povinné date

`creditAccount` null | string povinné

`journalEntryId` null | string povinné

```bash
curl -X POST https://api.damedoklad.cz/v1/small-assets/ast_2n9F4kT7wQ1xYz0aBcDeFgHiJkL/dispose \
  -H "Authorization: Bearer $DAMEDOKLAD_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
  "date": "2026-10-30"
}'
```

```javascript
const response = await fetch('https://api.damedoklad.cz/v1/small-assets/ast_2n9F4kT7wQ1xYz0aBcDeFgHiJkL/dispose', {
  method: 'POST',
  headers: {
    Authorization: `Bearer ${process.env.DAMEDOKLAD_API_KEY}`,
    'Content-Type': 'application/json',
  },
  body: JSON.stringify({
    "date": "2026-10-30"
  }),
});
const data = await response.json();
```

```python
import os
import requests

response = requests.post(
    "https://api.damedoklad.cz/v1/small-assets/ast_2n9F4kT7wQ1xYz0aBcDeFgHiJkL/dispose",
    headers={"Authorization": f"Bearer {os.environ['DAMEDOKLAD_API_KEY']}"},
    json={
        "date": "2026-10-30"
    },
)
data = response.json()
```

## Write a small asset off to consumption (MD 501 / D 112, or another credit account)

POST `/v1/small-assets/{id}/write-off`

Write a small asset off to consumption (MD 501 / D 112, or another credit account)

Nástroj MCP: `write-off-small-asset`

### Parametry v cestě

`id` string povinné

### Tělo požadavku

`date` string YYYY-MM-DD

Date as YYYY-MM-DD.

`creditAccount` string

### Odpověď · 200

`id` string povinné

`inventoryNumber` null | string povinné

`name` string povinné

`acquiredOn` string povinné date

`costHaler` integer povinné

`quantityMilli` integer povinné

`location` null | string povinné

`responsiblePerson` string | null povinné

`note` string | null povinné

`status` string povinné

`disposedOn` null | string povinné date

`disposalReason` null | string povinné

`writtenOffOn` null | string povinné date

`creditAccount` null | string povinné

`journalEntryId` null | string povinné

```bash
curl -X POST https://api.damedoklad.cz/v1/small-assets/ast_2n9F4kT7wQ1xYz0aBcDeFgHiJkL/write-off \
  -H "Authorization: Bearer $DAMEDOKLAD_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
  "date": "2026-10-30",
  "creditAccount": "518"
}'
```

```javascript
const response = await fetch('https://api.damedoklad.cz/v1/small-assets/ast_2n9F4kT7wQ1xYz0aBcDeFgHiJkL/write-off', {
  method: 'POST',
  headers: {
    Authorization: `Bearer ${process.env.DAMEDOKLAD_API_KEY}`,
    'Content-Type': 'application/json',
  },
  body: JSON.stringify({
    "date": "2026-10-30",
    "creditAccount": "518"
  }),
});
const data = await response.json();
```

```python
import os
import requests

response = requests.post(
    "https://api.damedoklad.cz/v1/small-assets/ast_2n9F4kT7wQ1xYz0aBcDeFgHiJkL/write-off",
    headers={"Authorization": f"Bearer {os.environ['DAMEDOKLAD_API_KEY']}"},
    json={
        "date": "2026-10-30",
        "creditAccount": "518"
    },
)
data = response.json()
```
