# Kontakty · API DameDokladu

> Operace ve skupině Kontakty.

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

# Kontakty

Operace ve skupině Kontakty.

## Seznam: skupiny, kontakt

GET `/v1/contact-groups`

List contact groups

Nástroj MCP: `list-contact-groups`

### 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` "contact\_group" povinné

`id` string povinné

`name` 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/contact-groups \
  -H "Authorization: Bearer $DAMEDOKLAD_API_KEY"
```

```javascript
const response = await fetch('https://api.damedoklad.cz/v1/contact-groups', {
  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/contact-groups",
    headers={"Authorization": f"Bearer {os.environ['DAMEDOKLAD_API_KEY']}"},
)
data = response.json()
```

## Vytvoření: skupina, kontakt

POST `/v1/contact-groups`

Create a contact group

Nástroj MCP: `create-contact-group`

### Tělo požadavku

`name` string povinné max 80 chars

### Odpověď · 201

`id` string povinné

`name` string povinné

```bash
curl -X POST https://api.damedoklad.cz/v1/contact-groups \
  -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/contact-groups', {
  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/contact-groups",
    headers={"Authorization": f"Bearer {os.environ['DAMEDOKLAD_API_KEY']}"},
    json={
        "name": "Pekárna U Lípy s.r.o."
    },
)
data = response.json()
```

## Seznam: kontakty

GET `/v1/contacts`

List contacts (customers and suppliers), with what each one owes

Nástroj MCP: `list-contacts`

### Parametry dotazu

`limit` integer min 1 max 500

`offset` integer min 0 max 9007199254740991

`search` string max 200 chars

`q` string max 200 chars

Older name for \`search\`.

`roles` string

customer, supplier, or both.

`owing` "true" | "false"

\`true\`: only contacts that owe you money.

`restricted` "true" | "false"

\`true\`: only contacts whose processing is restricted under GDPR. They are left out otherwise.

`groupId` string

Only contacts in this contact group.

`customFieldKey` string

Only records with this custom field. Alone: it has any value. With customFieldValue: exactly that value, ignoring case.

`customFieldValue` string max 2000 chars

### Odpověď · 200

`data` object\[\] povinné

`customFields` object

`obor` string

`oblast` string

`region` null | string

`sleva` integer

`smlouva_od` string date

`poznamka_obchodu` string

`object` "contact" povinné

`id` string povinné

`kind` string

`roles` string

`name` string

`nameOnDocuments` string | null

`ico` null | string

`dic` null | string

`vatPayerType` string

`email` null | string

`phone` null | string

`mobile` null | string

`www` null | string

`note` null | string

`dataBoxId` string | null

`externalCode` null | string

`usualDueDays` integer | null

`supplierDueDays` integer | null

`preferredPaymentMethod` string | null

`invoiceLanguage` null | string

`defaultCurrency` string

`creditWarnHaler` integer | null

`creditBlockHaler` integer | null

`reminderOnDue` boolean

`reminderWeekAfter` boolean

`reminder14DaysAfter` boolean

`reminderMonthAfter` boolean

`unreliableVatPayer` boolean | null

`vatCheckedAt` string | null

`viesValid` boolean | null

`viesCheckedAt` string | null

`insolvencyStatus` null | string

`insolvencyCheckedAt` null | string date-time

`insolvencyProceedings` object\[\]

`ico` null | string povinné

`url` string povinné

`name` string povinné

`state` string povinné

`active` boolean povinné

`senate` string povinné

`endedOn` any povinné

Null in every recorded response.

`startedOn` string povinné date

`fileNumber` string povinné

`gdprRestricted` boolean

`marketingOptOut` boolean

`owingHaler` integer

`groupIds` string\[\]

`groups` object\[\]

`object` "contact\_group" povinné

`id` string povinné

`name` string povinné

`createdAt` null | string date-time

`updatedAt` null | string date-time

`insolvencyWatch` boolean

`insolvencyChangedAt` null | string date-time

`addresses` object\[\]

`object` "address" povinné

`id` string povinné

`contactId` null | string povinné

`type` string povinné

`name` string | null povinné

`street` null | string povinné

`city` null | string povinné

`postalCode` null | string povinné

`country` null | string povinné

`region` null | string povinné

`email` string | null povinné

`phone` string | null povinné

`isDefault` boolean povinné

`bankAccounts` object\[\]

`object` "bank\_account" povinné

`id` string povinné

`contactId` null | string

`label` null | string

`accountNumber` null | string povinné

`bankCode` null | string povinné

`iban` null | string povinné

`currency` string povinné

`isDefault` boolean povinné

`publishedFromRegistry` boolean

`bic` null | string

`bankName` null | string

`bankStreet` string | null

`bankCity` string | null

`name` string

`swift` null | string

`ledgerAccount` string

`isActive` boolean

`openingBalanceHaler` integer

`openingDate` null | string date

`openingExchangeRate` string | null

`openingState` string

`bankBalanceHaler` integer | null

`bankBalanceOn` null | string date

`fio` object

`configured` boolean povinné

`enabled` boolean povinné

`lastSyncedAt` null | string povinné date-time

`lastSyncedOn` null | string povinné date

`lastError` null | string povinné

`createdAt` string date-time

`balanceHaler` integer

`unmatchedCount` integer

`balanceDiffHaler` integer | null

`sepaCreditorId` null | string

`persons` object\[\]

`object` "contact\_person" povinné

`id` string povinné

`contactId` string povinné

`name` string povinné

`greeting` string | null povinné

`title` null | string povinné

`email` null | string povinné

`phone` null | string povinné

`mobile` string | null povinné

`note` string | null povinné

`duplicateIco` object

`existingId` string povinné

`name` string povinné

`attachments` any\[\]

`documents` object\[\]

`object` "credit\_note" | "delivery\_note" | "invoice" | "proforma" | "received\_invoice" povinné

`id` string povinné

`number` null | string povinné

`variableSymbol` null | string

`contactId` null | string povinné

`contactName` null | string povinné

`issueDate` null | string povinné date

`dueDate` null | string date

`currency` null | string

`totalHaler` integer | null

`paidHaler` integer

`status` string povinné

`overdue` boolean

`fileId` null | string povinné

`supplierDocumentNumber` null | string

`kind` string

`originalInvoiceNumber` null | string

`deliveryDate` string date

`carrierId` string | null

`mergedFrom` string

`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/contacts \
  -H "Authorization: Bearer $DAMEDOKLAD_API_KEY"
```

```javascript
const response = await fetch('https://api.damedoklad.cz/v1/contacts', {
  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/contacts",
    headers={"Authorization": f"Bearer {os.environ['DAMEDOKLAD_API_KEY']}"},
)
data = response.json()
```

## Vytvoření: kontakt

POST `/v1/contacts`

Create a contact. Call lookup-ares first when you have an IČO, to fill in the official name, address, and DIČ

Nástroj MCP: `create-contact`

### Tělo požadavku

`kind` "company" | "person"

`roles` "customer" | "supplier" | "both"

`name` string povinné max 160 chars

`nameOnDocuments` string | null

`ico` string | null

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

`dic` string | null

VAT number (DIČ), for example CZ12345678.

`vatPayerType` "payer" | "non\_payer"

`email` string | null

`phone` string | null

`mobile` string | null

`www` string | null

`note` string | null

`dataBoxId` string | null

ID of the data box.

`externalCode` string | null

`usualDueDays` integer | null

`supplierDueDays` integer | null

`preferredPaymentMethod` "transfer" | "cash" | "proforma" | "card" | "cod" | null

`invoiceLanguage` "cs" | "en" | "sk" | "de" | "fr" | "pl" | null

`defaultCurrency` string 3 chars

ISO 4217 currency code, for example CZK or EUR.

`creditWarnHaler` integer | null

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

`creditBlockHaler` integer | null

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

`reminderOnDue` boolean

`reminderWeekAfter` boolean

`reminder14DaysAfter` boolean

`reminderMonthAfter` boolean

`allowDuplicateIco` boolean

### Odpověď · 201

`customFields` object

`obor` string

`oblast` string

`region` null | string

`sleva` integer

`smlouva_od` string date

`poznamka_obchodu` string

`id` string povinné

`kind` string

`roles` string

`name` string

`nameOnDocuments` string | null

`ico` null | string

`dic` null | string

`vatPayerType` string

`email` null | string

`phone` null | string

`mobile` null | string

`www` null | string

`note` null | string

`dataBoxId` string | null

`externalCode` null | string

`usualDueDays` integer | null

`supplierDueDays` integer | null

`preferredPaymentMethod` string | null

`invoiceLanguage` null | string

`defaultCurrency` string

`creditWarnHaler` integer | null

`creditBlockHaler` integer | null

`reminderOnDue` boolean

`reminderWeekAfter` boolean

`reminder14DaysAfter` boolean

`reminderMonthAfter` boolean

`unreliableVatPayer` boolean | null

`vatCheckedAt` string | null

`viesValid` boolean | null

`viesCheckedAt` string | null

`insolvencyStatus` null | string

`insolvencyCheckedAt` null | string date-time

`insolvencyProceedings` object\[\]

`ico` null | string povinné

`url` string povinné

`name` string povinné

`state` string povinné

`active` boolean povinné

`senate` string povinné

`endedOn` any povinné

Null in every recorded response.

`startedOn` string povinné date

`fileNumber` string povinné

`gdprRestricted` boolean

`marketingOptOut` boolean

`owingHaler` integer

`groupIds` string\[\]

`groups` object\[\]

`object` "contact\_group" povinné

`id` string povinné

`name` string povinné

`createdAt` null | string date-time

`updatedAt` null | string date-time

`insolvencyWatch` boolean

`insolvencyChangedAt` null | string date-time

`addresses` object\[\]

`object` "address" povinné

`id` string povinné

`contactId` null | string povinné

`type` string povinné

`name` string | null povinné

`street` null | string povinné

`city` null | string povinné

`postalCode` null | string povinné

`country` null | string povinné

`region` null | string povinné

`email` string | null povinné

`phone` string | null povinné

`isDefault` boolean povinné

`bankAccounts` object\[\]

`object` "bank\_account" povinné

`id` string povinné

`contactId` null | string

`label` null | string

`accountNumber` null | string povinné

`bankCode` null | string povinné

`iban` null | string povinné

`currency` string povinné

`isDefault` boolean povinné

`publishedFromRegistry` boolean

`bic` null | string

`bankName` null | string

`bankStreet` string | null

`bankCity` string | null

`name` string

`swift` null | string

`ledgerAccount` string

`isActive` boolean

`openingBalanceHaler` integer

`openingDate` null | string date

`openingExchangeRate` string | null

`openingState` string

`bankBalanceHaler` integer | null

`bankBalanceOn` null | string date

`fio` object

`configured` boolean povinné

`enabled` boolean povinné

`lastSyncedAt` null | string povinné date-time

`lastSyncedOn` null | string povinné date

`lastError` null | string povinné

`createdAt` string date-time

`balanceHaler` integer

`unmatchedCount` integer

`balanceDiffHaler` integer | null

`sepaCreditorId` null | string

`persons` object\[\]

`object` "contact\_person" povinné

`id` string povinné

`contactId` string povinné

`name` string povinné

`greeting` string | null povinné

`title` null | string povinné

`email` null | string povinné

`phone` null | string povinné

`mobile` string | null povinné

`note` string | null povinné

`duplicateIco` object

`existingId` string povinné

`name` string povinné

`attachments` any\[\]

`documents` object\[\]

`object` "credit\_note" | "delivery\_note" | "invoice" | "proforma" | "received\_invoice" povinné

`id` string povinné

`number` null | string povinné

`variableSymbol` null | string

`contactId` null | string povinné

`contactName` null | string povinné

`issueDate` null | string povinné date

`dueDate` null | string date

`currency` null | string

`totalHaler` integer | null

`paidHaler` integer

`status` string povinné

`overdue` boolean

`fileId` null | string povinné

`supplierDocumentNumber` null | string

`kind` string

`originalInvoiceNumber` null | string

`deliveryDate` string date

`carrierId` string | null

`mergedFrom` string

```bash
curl -X POST https://api.damedoklad.cz/v1/contacts \
  -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/contacts', {
  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/contacts",
    headers={"Authorization": f"Bearer {os.environ['DAMEDOKLAD_API_KEY']}"},
    json={
        "name": "Pekárna U Lípy s.r.o."
    },
)
data = response.json()
```

## Detail: kontakt

GET `/v1/contacts/{id}`

Get a contact with its addresses, bank accounts, persons, and groups

Nástroj MCP: `get-contact`

### Parametry v cestě

`id` string povinné

### Odpověď · 200

`customFields` object

`obor` string

`oblast` string

`region` null | string

`sleva` integer

`smlouva_od` string date

`poznamka_obchodu` string

`id` string povinné

`kind` string

`roles` string

`name` string

`nameOnDocuments` string | null

`ico` null | string

`dic` null | string

`vatPayerType` string

`email` null | string

`phone` null | string

`mobile` null | string

`www` null | string

`note` null | string

`dataBoxId` string | null

`externalCode` null | string

`usualDueDays` integer | null

`supplierDueDays` integer | null

`preferredPaymentMethod` string | null

`invoiceLanguage` null | string

`defaultCurrency` string

`creditWarnHaler` integer | null

`creditBlockHaler` integer | null

`reminderOnDue` boolean

`reminderWeekAfter` boolean

`reminder14DaysAfter` boolean

`reminderMonthAfter` boolean

`unreliableVatPayer` boolean | null

`vatCheckedAt` string | null

`viesValid` boolean | null

`viesCheckedAt` string | null

`insolvencyStatus` null | string

`insolvencyCheckedAt` null | string date-time

`insolvencyProceedings` object\[\]

`ico` null | string povinné

`url` string povinné

`name` string povinné

`state` string povinné

`active` boolean povinné

`senate` string povinné

`endedOn` any povinné

Null in every recorded response.

`startedOn` string povinné date

`fileNumber` string povinné

`gdprRestricted` boolean

`marketingOptOut` boolean

`owingHaler` integer

`groupIds` string\[\]

`groups` object\[\]

`object` "contact\_group" povinné

`id` string povinné

`name` string povinné

`createdAt` null | string date-time

`updatedAt` null | string date-time

`insolvencyWatch` boolean

`insolvencyChangedAt` null | string date-time

`addresses` object\[\]

`object` "address" povinné

`id` string povinné

`contactId` null | string povinné

`type` string povinné

`name` string | null povinné

`street` null | string povinné

`city` null | string povinné

`postalCode` null | string povinné

`country` null | string povinné

`region` null | string povinné

`email` string | null povinné

`phone` string | null povinné

`isDefault` boolean povinné

`bankAccounts` object\[\]

`object` "bank\_account" povinné

`id` string povinné

`contactId` null | string

`label` null | string

`accountNumber` null | string povinné

`bankCode` null | string povinné

`iban` null | string povinné

`currency` string povinné

`isDefault` boolean povinné

`publishedFromRegistry` boolean

`bic` null | string

`bankName` null | string

`bankStreet` string | null

`bankCity` string | null

`name` string

`swift` null | string

`ledgerAccount` string

`isActive` boolean

`openingBalanceHaler` integer

`openingDate` null | string date

`openingExchangeRate` string | null

`openingState` string

`bankBalanceHaler` integer | null

`bankBalanceOn` null | string date

`fio` object

`configured` boolean povinné

`enabled` boolean povinné

`lastSyncedAt` null | string povinné date-time

`lastSyncedOn` null | string povinné date

`lastError` null | string povinné

`createdAt` string date-time

`balanceHaler` integer

`unmatchedCount` integer

`balanceDiffHaler` integer | null

`sepaCreditorId` null | string

`persons` object\[\]

`object` "contact\_person" povinné

`id` string povinné

`contactId` string povinné

`name` string povinné

`greeting` string | null povinné

`title` null | string povinné

`email` null | string povinné

`phone` null | string povinné

`mobile` string | null povinné

`note` string | null povinné

`duplicateIco` object

`existingId` string povinné

`name` string povinné

`attachments` any\[\]

`documents` object\[\]

`object` "credit\_note" | "delivery\_note" | "invoice" | "proforma" | "received\_invoice" povinné

`id` string povinné

`number` null | string povinné

`variableSymbol` null | string

`contactId` null | string povinné

`contactName` null | string povinné

`issueDate` null | string povinné date

`dueDate` null | string date

`currency` null | string

`totalHaler` integer | null

`paidHaler` integer

`status` string povinné

`overdue` boolean

`fileId` null | string povinné

`supplierDocumentNumber` null | string

`kind` string

`originalInvoiceNumber` null | string

`deliveryDate` string date

`carrierId` string | null

`mergedFrom` string

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

```javascript
const response = await fetch('https://api.damedoklad.cz/v1/contacts/con_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/contacts/con_2n9F4kT7wQ1xYz0aBcDeFgHiJkL",
    headers={"Authorization": f"Bearer {os.environ['DAMEDOKLAD_API_KEY']}"},
)
data = response.json()
```

## Úprava: kontakt

PATCH `/v1/contacts/{id}`

Update a contact. Documents already issued keep the details they were issued with

Nástroj MCP: `update-contact`

### Parametry v cestě

`id` string povinné

### Tělo požadavku

`kind` "company" | "person"

`roles` "customer" | "supplier" | "both"

`name` string max 160 chars

`nameOnDocuments` string | null

`ico` string | null

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

`dic` string | null

VAT number (DIČ), for example CZ12345678.

`vatPayerType` "payer" | "non\_payer"

`email` string | null

`phone` string | null

`mobile` string | null

`www` string | null

`note` string | null

`dataBoxId` string | null

ID of the data box.

`externalCode` string | null

`usualDueDays` integer | null

`supplierDueDays` integer | null

`preferredPaymentMethod` "transfer" | "cash" | "proforma" | "card" | "cod" | null

`invoiceLanguage` "cs" | "en" | "sk" | "de" | "fr" | "pl" | null

`defaultCurrency` string 3 chars

ISO 4217 currency code, for example CZK or EUR.

`creditWarnHaler` integer | null

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

`creditBlockHaler` integer | null

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

`reminderOnDue` boolean

`reminderWeekAfter` boolean

`reminder14DaysAfter` boolean

`reminderMonthAfter` boolean

`allowDuplicateIco` boolean

### Odpověď · 200

`customFields` object

`obor` string

`oblast` string

`region` null | string

`sleva` integer

`smlouva_od` string date

`poznamka_obchodu` string

`id` string povinné

`kind` string

`roles` string

`name` string

`nameOnDocuments` string | null

`ico` null | string

`dic` null | string

`vatPayerType` string

`email` null | string

`phone` null | string

`mobile` null | string

`www` null | string

`note` null | string

`dataBoxId` string | null

`externalCode` null | string

`usualDueDays` integer | null

`supplierDueDays` integer | null

`preferredPaymentMethod` string | null

`invoiceLanguage` null | string

`defaultCurrency` string

`creditWarnHaler` integer | null

`creditBlockHaler` integer | null

`reminderOnDue` boolean

`reminderWeekAfter` boolean

`reminder14DaysAfter` boolean

`reminderMonthAfter` boolean

`unreliableVatPayer` boolean | null

`vatCheckedAt` string | null

`viesValid` boolean | null

`viesCheckedAt` string | null

`insolvencyStatus` null | string

`insolvencyCheckedAt` null | string date-time

`insolvencyProceedings` object\[\]

`ico` null | string povinné

`url` string povinné

`name` string povinné

`state` string povinné

`active` boolean povinné

`senate` string povinné

`endedOn` any povinné

Null in every recorded response.

`startedOn` string povinné date

`fileNumber` string povinné

`gdprRestricted` boolean

`marketingOptOut` boolean

`owingHaler` integer

`groupIds` string\[\]

`groups` object\[\]

`object` "contact\_group" povinné

`id` string povinné

`name` string povinné

`createdAt` null | string date-time

`updatedAt` null | string date-time

`insolvencyWatch` boolean

`insolvencyChangedAt` null | string date-time

`addresses` object\[\]

`object` "address" povinné

`id` string povinné

`contactId` null | string povinné

`type` string povinné

`name` string | null povinné

`street` null | string povinné

`city` null | string povinné

`postalCode` null | string povinné

`country` null | string povinné

`region` null | string povinné

`email` string | null povinné

`phone` string | null povinné

`isDefault` boolean povinné

`bankAccounts` object\[\]

`object` "bank\_account" povinné

`id` string povinné

`contactId` null | string

`label` null | string

`accountNumber` null | string povinné

`bankCode` null | string povinné

`iban` null | string povinné

`currency` string povinné

`isDefault` boolean povinné

`publishedFromRegistry` boolean

`bic` null | string

`bankName` null | string

`bankStreet` string | null

`bankCity` string | null

`name` string

`swift` null | string

`ledgerAccount` string

`isActive` boolean

`openingBalanceHaler` integer

`openingDate` null | string date

`openingExchangeRate` string | null

`openingState` string

`bankBalanceHaler` integer | null

`bankBalanceOn` null | string date

`fio` object

`configured` boolean povinné

`enabled` boolean povinné

`lastSyncedAt` null | string povinné date-time

`lastSyncedOn` null | string povinné date

`lastError` null | string povinné

`createdAt` string date-time

`balanceHaler` integer

`unmatchedCount` integer

`balanceDiffHaler` integer | null

`sepaCreditorId` null | string

`persons` object\[\]

`object` "contact\_person" povinné

`id` string povinné

`contactId` string povinné

`name` string povinné

`greeting` string | null povinné

`title` null | string povinné

`email` null | string povinné

`phone` null | string povinné

`mobile` string | null povinné

`note` string | null povinné

`duplicateIco` object

`existingId` string povinné

`name` string povinné

`attachments` any\[\]

`documents` object\[\]

`object` "credit\_note" | "delivery\_note" | "invoice" | "proforma" | "received\_invoice" povinné

`id` string povinné

`number` null | string povinné

`variableSymbol` null | string

`contactId` null | string povinné

`contactName` null | string povinné

`issueDate` null | string povinné date

`dueDate` null | string date

`currency` null | string

`totalHaler` integer | null

`paidHaler` integer

`status` string povinné

`overdue` boolean

`fileId` null | string povinné

`supplierDocumentNumber` null | string

`kind` string

`originalInvoiceNumber` null | string

`deliveryDate` string date

`carrierId` string | null

`mergedFrom` string

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

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

```python
import os
import requests

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

## Smazání: kontakt

DELETE `/v1/contacts/{id}`

Delete a contact that no document uses

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

Nástroj MCP: `delete-contact`

### Parametry v cestě

`id` string povinné

### Odpověď · 200

`id` string povinné

`deleted` boolean povinné

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

```javascript
const response = await fetch('https://api.damedoklad.cz/v1/contacts/con_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/contacts/con_2n9F4kT7wQ1xYz0aBcDeFgHiJkL",
    headers={"Authorization": f"Bearer {os.environ['DAMEDOKLAD_API_KEY']}"},
)
data = response.json()
```

## Seznam: aktivita, kontakt

GET `/v1/contacts/{id}/activity`

List the documents and events connected to a contact

Nástroj MCP: `list-contact-activity`

### 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é

`type` string povinné

`at` string povinné date-time

`contactId` null | string

`documentId` null | string

`number` null | string

`documentType` null | string

`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/contacts/con_2n9F4kT7wQ1xYz0aBcDeFgHiJkL/activity \
  -H "Authorization: Bearer $DAMEDOKLAD_API_KEY"
```

```javascript
const response = await fetch('https://api.damedoklad.cz/v1/contacts/con_2n9F4kT7wQ1xYz0aBcDeFgHiJkL/activity', {
  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/contacts/con_2n9F4kT7wQ1xYz0aBcDeFgHiJkL/activity",
    headers={"Authorization": f"Bearer {os.environ['DAMEDOKLAD_API_KEY']}"},
)
data = response.json()
```

## Seznam: adresy, kontakt

GET `/v1/contacts/{id}/addresses`

List a contact's addresses

Nástroj MCP: `list-contact-addresses`

### 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` "address" povinné

`id` string povinné

`contactId` null | string povinné

`type` string povinné

`name` string | null povinné

`street` null | string povinné

`city` null | string povinné

`postalCode` null | string povinné

`country` null | string povinné

`region` null | string povinné

`email` string | null povinné

`phone` string | null povinné

`isDefault` boolean 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/contacts/con_2n9F4kT7wQ1xYz0aBcDeFgHiJkL/addresses \
  -H "Authorization: Bearer $DAMEDOKLAD_API_KEY"
```

```javascript
const response = await fetch('https://api.damedoklad.cz/v1/contacts/con_2n9F4kT7wQ1xYz0aBcDeFgHiJkL/addresses', {
  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/contacts/con_2n9F4kT7wQ1xYz0aBcDeFgHiJkL/addresses",
    headers={"Authorization": f"Bearer {os.environ['DAMEDOKLAD_API_KEY']}"},
)
data = response.json()
```

## Vytvoření: adresa, kontakt

POST `/v1/contacts/{id}/addresses`

Add an address to a contact

Nástroj MCP: `create-contact-address`

### Parametry v cestě

`id` string povinné

### Tělo požadavku

`type` "registered" | "delivery" povinné

`name` string | null

`street` string | null

`city` string | null

`postalCode` string | null

`country` string max 2 chars

`region` string | null

`email` string | null

`phone` string | null

`isDefault` boolean

### Odpověď · 201

`id` string povinné

`contactId` null | string povinné

`type` string povinné

`name` string | null povinné

`street` null | string povinné

`city` null | string povinné

`postalCode` null | string povinné

`country` null | string povinné

`region` null | string povinné

`email` string | null povinné

`phone` string | null povinné

`isDefault` boolean povinné

```bash
curl -X POST https://api.damedoklad.cz/v1/contacts/con_2n9F4kT7wQ1xYz0aBcDeFgHiJkL/addresses \
  -H "Authorization: Bearer $DAMEDOKLAD_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
  "type": "registered"
}'
```

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

```python
import os
import requests

response = requests.post(
    "https://api.damedoklad.cz/v1/contacts/con_2n9F4kT7wQ1xYz0aBcDeFgHiJkL/addresses",
    headers={"Authorization": f"Bearer {os.environ['DAMEDOKLAD_API_KEY']}"},
    json={
        "type": "registered"
    },
)
data = response.json()
```

## Úprava: adresa, kontakt

PATCH `/v1/contacts/{id}/addresses/{addressId}`

Update an address of a contact

Nástroj MCP: `update-contact-address`

### Parametry v cestě

`id` string povinné

`addressId` string povinné

ID of the address.

### Tělo požadavku

`type` "registered" | "delivery"

`name` string | null

`street` string | null

`city` string | null

`postalCode` string | null

`country` string max 2 chars

`region` string | null

`email` string | null

`phone` string | null

`isDefault` boolean

### Odpověď · 200

`id` string povinné

`contactId` null | string povinné

`type` string povinné

`name` string | null povinné

`street` null | string povinné

`city` null | string povinné

`postalCode` null | string povinné

`country` null | string povinné

`region` null | string povinné

`email` string | null povinné

`phone` string | null povinné

`isDefault` boolean povinné

```bash
curl -X PATCH https://api.damedoklad.cz/v1/contacts/con_2n9F4kT7wQ1xYz0aBcDeFgHiJkL/addresses/cad_2n9F4kT7wQ1xYz0aBcDeFgHiJkL \
  -H "Authorization: Bearer $DAMEDOKLAD_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
  "type": "registered",
  "name": "Pekárna U Lípy s.r.o.",
  "street": "string"
}'
```

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

```python
import os
import requests

response = requests.patch(
    "https://api.damedoklad.cz/v1/contacts/con_2n9F4kT7wQ1xYz0aBcDeFgHiJkL/addresses/cad_2n9F4kT7wQ1xYz0aBcDeFgHiJkL",
    headers={"Authorization": f"Bearer {os.environ['DAMEDOKLAD_API_KEY']}"},
    json={
        "type": "registered",
        "name": "Pekárna U Lípy s.r.o.",
        "street": "string"
    },
)
data = response.json()
```

## Smazání: adresa, kontakt

DELETE `/v1/contacts/{id}/addresses/{addressId}`

Remove an address from a contact

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

Nástroj MCP: `delete-contact-address`

### Parametry v cestě

`id` string povinné

`addressId` string povinné

ID of the address.

### Odpověď · 200

`id` string povinné

`deleted` boolean povinné

```bash
curl -X DELETE https://api.damedoklad.cz/v1/contacts/con_2n9F4kT7wQ1xYz0aBcDeFgHiJkL/addresses/cad_2n9F4kT7wQ1xYz0aBcDeFgHiJkL \
  -H "Authorization: Bearer $DAMEDOKLAD_API_KEY"
```

```javascript
const response = await fetch('https://api.damedoklad.cz/v1/contacts/con_2n9F4kT7wQ1xYz0aBcDeFgHiJkL/addresses/cad_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/contacts/con_2n9F4kT7wQ1xYz0aBcDeFgHiJkL/addresses/cad_2n9F4kT7wQ1xYz0aBcDeFgHiJkL",
    headers={"Authorization": f"Bearer {os.environ['DAMEDOKLAD_API_KEY']}"},
)
data = response.json()
```

## Seznam: bankovní účty, kontakt

GET `/v1/contacts/{id}/bank-accounts`

List a contact's bank accounts

Nástroj MCP: `list-contact-bank-accounts`

### 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` "bank\_account" povinné

`id` string povinné

`contactId` null | string

`label` null | string

`accountNumber` null | string povinné

`bankCode` null | string povinné

`iban` null | string povinné

`currency` string povinné

`isDefault` boolean povinné

`publishedFromRegistry` boolean

`bic` null | string

`bankName` null | string

`bankStreet` string | null

`bankCity` string | null

`name` string

`swift` null | string

`ledgerAccount` string

`isActive` boolean

`openingBalanceHaler` integer

`openingDate` null | string date

`openingExchangeRate` string | null

`openingState` string

`bankBalanceHaler` integer | null

`bankBalanceOn` null | string date

`fio` object

`configured` boolean povinné

`enabled` boolean povinné

`lastSyncedAt` null | string povinné date-time

`lastSyncedOn` null | string povinné date

`lastError` null | string povinné

`createdAt` string date-time

`balanceHaler` integer

`unmatchedCount` integer

`balanceDiffHaler` integer | null

`sepaCreditorId` null | string

`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/contacts/con_2n9F4kT7wQ1xYz0aBcDeFgHiJkL/bank-accounts \
  -H "Authorization: Bearer $DAMEDOKLAD_API_KEY"
```

```javascript
const response = await fetch('https://api.damedoklad.cz/v1/contacts/con_2n9F4kT7wQ1xYz0aBcDeFgHiJkL/bank-accounts', {
  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/contacts/con_2n9F4kT7wQ1xYz0aBcDeFgHiJkL/bank-accounts",
    headers={"Authorization": f"Bearer {os.environ['DAMEDOKLAD_API_KEY']}"},
)
data = response.json()
```

## Vytvoření: bankovní účet, kontakt

POST `/v1/contacts/{id}/bank-accounts`

Add a bank account to a contact

Nástroj MCP: `create-contact-bank-account`

### Parametry v cestě

`id` string povinné

### Tělo požadavku

`label` string | null

`accountNumber` string | null

Account number from the chart of accounts, for example 311. list-accounts lists them.

`bankCode` string | null

`iban` string | null

IBAN without spaces.

`bic` string | null

`bankName` string | null

`bankStreet` string | null

`bankCity` string | null

`currency` string 3 chars

ISO 4217 currency code, for example CZK or EUR.

`isDefault` boolean

`publishedFromRegistry` boolean

### Odpověď · 201

`id` string povinné

`contactId` null | string

`label` null | string

`accountNumber` null | string povinné

`bankCode` null | string povinné

`iban` null | string povinné

`currency` string povinné

`isDefault` boolean povinné

`publishedFromRegistry` boolean

`bic` null | string

`bankName` null | string

`bankStreet` string | null

`bankCity` string | null

`name` string

`swift` null | string

`ledgerAccount` string

`isActive` boolean

`openingBalanceHaler` integer

`openingDate` null | string date

`openingExchangeRate` string | null

`openingState` string

`bankBalanceHaler` integer | null

`bankBalanceOn` null | string date

`fio` object

`configured` boolean povinné

`enabled` boolean povinné

`lastSyncedAt` null | string povinné date-time

`lastSyncedOn` null | string povinné date

`lastError` null | string povinné

`createdAt` string date-time

`balanceHaler` integer

`unmatchedCount` integer

`balanceDiffHaler` integer | null

`sepaCreditorId` null | string

```bash
curl -X POST https://api.damedoklad.cz/v1/contacts/con_2n9F4kT7wQ1xYz0aBcDeFgHiJkL/bank-accounts \
  -H "Authorization: Bearer $DAMEDOKLAD_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
  "label": "string",
  "accountNumber": "string",
  "bankCode": "0100"
}'
```

```javascript
const response = await fetch('https://api.damedoklad.cz/v1/contacts/con_2n9F4kT7wQ1xYz0aBcDeFgHiJkL/bank-accounts', {
  method: 'POST',
  headers: {
    Authorization: `Bearer ${process.env.DAMEDOKLAD_API_KEY}`,
    'Content-Type': 'application/json',
  },
  body: JSON.stringify({
    "label": "string",
    "accountNumber": "string",
    "bankCode": "0100"
  }),
});
const data = await response.json();
```

```python
import os
import requests

response = requests.post(
    "https://api.damedoklad.cz/v1/contacts/con_2n9F4kT7wQ1xYz0aBcDeFgHiJkL/bank-accounts",
    headers={"Authorization": f"Bearer {os.environ['DAMEDOKLAD_API_KEY']}"},
    json={
        "label": "string",
        "accountNumber": "string",
        "bankCode": "0100"
    },
)
data = response.json()
```

## Úprava: bankovní účet, kontakt

PATCH `/v1/contacts/{id}/bank-accounts/{accountId}`

Update a bank account of a contact

Nástroj MCP: `update-contact-bank-account`

### Parametry v cestě

`id` string povinné

`accountId` string povinné

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

### Tělo požadavku

`label` string | null

`accountNumber` string | null

Account number from the chart of accounts, for example 311. list-accounts lists them.

`bankCode` string | null

`iban` string | null

IBAN without spaces.

`bic` string | null

`bankName` string | null

`bankStreet` string | null

`bankCity` string | null

`currency` string 3 chars

ISO 4217 currency code, for example CZK or EUR.

`isDefault` boolean

`publishedFromRegistry` boolean

### Odpověď · 200

`id` string povinné

`contactId` null | string

`label` null | string

`accountNumber` null | string povinné

`bankCode` null | string povinné

`iban` null | string povinné

`currency` string povinné

`isDefault` boolean povinné

`publishedFromRegistry` boolean

`bic` null | string

`bankName` null | string

`bankStreet` string | null

`bankCity` string | null

`name` string

`swift` null | string

`ledgerAccount` string

`isActive` boolean

`openingBalanceHaler` integer

`openingDate` null | string date

`openingExchangeRate` string | null

`openingState` string

`bankBalanceHaler` integer | null

`bankBalanceOn` null | string date

`fio` object

`configured` boolean povinné

`enabled` boolean povinné

`lastSyncedAt` null | string povinné date-time

`lastSyncedOn` null | string povinné date

`lastError` null | string povinné

`createdAt` string date-time

`balanceHaler` integer

`unmatchedCount` integer

`balanceDiffHaler` integer | null

`sepaCreditorId` null | string

```bash
curl -X PATCH https://api.damedoklad.cz/v1/contacts/con_2n9F4kT7wQ1xYz0aBcDeFgHiJkL/bank-accounts/acc_2n9F4kT7wQ1xYz0aBcDeFgHiJkL \
  -H "Authorization: Bearer $DAMEDOKLAD_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
  "label": "string",
  "accountNumber": "string",
  "bankCode": "0100"
}'
```

```javascript
const response = await fetch('https://api.damedoklad.cz/v1/contacts/con_2n9F4kT7wQ1xYz0aBcDeFgHiJkL/bank-accounts/acc_2n9F4kT7wQ1xYz0aBcDeFgHiJkL', {
  method: 'PATCH',
  headers: {
    Authorization: `Bearer ${process.env.DAMEDOKLAD_API_KEY}`,
    'Content-Type': 'application/json',
  },
  body: JSON.stringify({
    "label": "string",
    "accountNumber": "string",
    "bankCode": "0100"
  }),
});
const data = await response.json();
```

```python
import os
import requests

response = requests.patch(
    "https://api.damedoklad.cz/v1/contacts/con_2n9F4kT7wQ1xYz0aBcDeFgHiJkL/bank-accounts/acc_2n9F4kT7wQ1xYz0aBcDeFgHiJkL",
    headers={"Authorization": f"Bearer {os.environ['DAMEDOKLAD_API_KEY']}"},
    json={
        "label": "string",
        "accountNumber": "string",
        "bankCode": "0100"
    },
)
data = response.json()
```

## Smazání: bankovní účet, kontakt

DELETE `/v1/contacts/{id}/bank-accounts/{accountId}`

Remove a bank account from a contact

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

Nástroj MCP: `delete-contact-bank-account`

### Parametry v cestě

`id` string povinné

`accountId` string povinné

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

### Odpověď · 200

`id` string povinné

`deleted` boolean povinné

```bash
curl -X DELETE https://api.damedoklad.cz/v1/contacts/con_2n9F4kT7wQ1xYz0aBcDeFgHiJkL/bank-accounts/acc_2n9F4kT7wQ1xYz0aBcDeFgHiJkL \
  -H "Authorization: Bearer $DAMEDOKLAD_API_KEY"
```

```javascript
const response = await fetch('https://api.damedoklad.cz/v1/contacts/con_2n9F4kT7wQ1xYz0aBcDeFgHiJkL/bank-accounts/acc_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/contacts/con_2n9F4kT7wQ1xYz0aBcDeFgHiJkL/bank-accounts/acc_2n9F4kT7wQ1xYz0aBcDeFgHiJkL",
    headers={"Authorization": f"Bearer {os.environ['DAMEDOKLAD_API_KEY']}"},
)
data = response.json()
```

## Get what the contact owes against its credit limits (Kredit info and Kredit max). An optional amount shows what a new document would do

GET `/v1/contacts/{id}/credit`

Get what the contact owes against its credit limits (Kredit info and Kredit max). An optional amount shows what a new document would do

Nástroj MCP: `get-contact-credit`

### Parametry v cestě

`id` string povinné

### Parametry dotazu

`documentHaler` integer min 0 max 9007199254740991

Amount in CZK of a document about to be issued.

### Odpověď · 200

`contactId` null | string povinné

`level` string povinné

`exposureHaler` integer povinné

`afterHaler` integer povinné

`warnHaler` integer | null povinné

`blockHaler` integer | null povinné

`availableHaler` integer | null povinné

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

```javascript
const response = await fetch('https://api.damedoklad.cz/v1/contacts/con_2n9F4kT7wQ1xYz0aBcDeFgHiJkL/credit', {
  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/contacts/con_2n9F4kT7wQ1xYz0aBcDeFgHiJkL/credit",
    headers={"Authorization": f"Bearer {os.environ['DAMEDOKLAD_API_KEY']}"},
)
data = response.json()
```

## Přiřazení: skupina, kontakt

POST `/v1/contacts/{id}/groups`

Put a contact in a contact group

Nástroj MCP: `assign-contact-group`

### Parametry v cestě

`id` string povinné

### Tělo požadavku

`groupId` string povinné

ID of the group.

### Odpověď · 201

`id` string povinné

`name` string povinné

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

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

```python
import os
import requests

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

## Odebrání: skupina, kontakt

DELETE `/v1/contacts/{id}/groups/{groupId}`

Take a contact out of a contact group

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

Nástroj MCP: `unassign-contact-group`

### Parametry v cestě

`id` string povinné

`groupId` string povinné

ID of the group.

### Odpověď · 200

`id` string povinné

`deleted` boolean povinné

```bash
curl -X DELETE https://api.damedoklad.cz/v1/contacts/con_2n9F4kT7wQ1xYz0aBcDeFgHiJkL/groups/obj_2n9F4kT7wQ1xYz0aBcDeFgHiJkL \
  -H "Authorization: Bearer $DAMEDOKLAD_API_KEY"
```

```javascript
const response = await fetch('https://api.damedoklad.cz/v1/contacts/con_2n9F4kT7wQ1xYz0aBcDeFgHiJkL/groups/obj_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/contacts/con_2n9F4kT7wQ1xYz0aBcDeFgHiJkL/groups/obj_2n9F4kT7wQ1xYz0aBcDeFgHiJkL",
    headers={"Authorization": f"Bearer {os.environ['DAMEDOKLAD_API_KEY']}"},
)
data = response.json()
```

## Check the contact by IČO in the Czech insolvency register (ISIR). If the register is down the answer is status unknown, not an error

POST `/v1/contacts/{id}/insolvency-check`

Check the contact by IČO in the Czech insolvency register (ISIR). If the register is down the answer is status unknown, not an error. Status found means a proceeding is running; clear means none is, though finished ones may be listed. Only a contact with an IČO can be checked: the register needs a birth number or date of birth to find a person.

Nástroj MCP: `check-contact-insolvency`

### Parametry v cestě

`id` string povinné

### Odpověď · 200

`ico` null | string povinné

`source` string povinné

`status` string povinné

`proceedings` object\[\] povinné

`fileNumber` string povinné

`senate` string povinné

`name` null | string povinné

`ico` null | string povinné

`state` string povinné

`active` boolean povinné

`startedOn` string povinné date

`endedOn` any povinné

Null in every recorded response.

`url` string povinné

`syncedAt` any povinné

Null in every recorded response.

`stale` boolean povinné

`contactId` null | string povinné

```bash
curl -X POST https://api.damedoklad.cz/v1/contacts/con_2n9F4kT7wQ1xYz0aBcDeFgHiJkL/insolvency-check \
  -H "Authorization: Bearer $DAMEDOKLAD_API_KEY"
```

```javascript
const response = await fetch('https://api.damedoklad.cz/v1/contacts/con_2n9F4kT7wQ1xYz0aBcDeFgHiJkL/insolvency-check', {
  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/contacts/con_2n9F4kT7wQ1xYz0aBcDeFgHiJkL/insolvency-check",
    headers={"Authorization": f"Bearer {os.environ['DAMEDOKLAD_API_KEY']}"},
)
data = response.json()
```

## Have the insolvency register re-read for this contact every day. A change shows in the notifications and as the contact.insolvency\_changed webhook

POST `/v1/contacts/{id}/insolvency-watch`

Have the insolvency register re-read for this contact every day. A change shows in the notifications and as the contact.insolvency\_changed webhook. Needs an IČO. A register that is down changes nothing, and the next run asks again.

Nástroj MCP: `set-contact-insolvency-watch`

### Parametry v cestě

`id` string povinné

### Tělo požadavku

`watch` boolean povinné

### Odpověď · 200

`contactId` null | string povinné

`watch` boolean povinné

```bash
curl -X POST https://api.damedoklad.cz/v1/contacts/con_2n9F4kT7wQ1xYz0aBcDeFgHiJkL/insolvency-watch \
  -H "Authorization: Bearer $DAMEDOKLAD_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
  "watch": false
}'
```

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

```python
import os
import requests

response = requests.post(
    "https://api.damedoklad.cz/v1/contacts/con_2n9F4kT7wQ1xYz0aBcDeFgHiJkL/insolvency-watch",
    headers={"Authorization": f"Bearer {os.environ['DAMEDOKLAD_API_KEY']}"},
    json={
        "watch": False
    },
)
data = response.json()
```

## Sloučení: kontakt

POST `/v1/contacts/{id}/merge`

Merge this contact into another one. Its documents move to the other contact and this one disappears

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

Nástroj MCP: `merge-contact`

### Parametry v cestě

`id` string povinné

### Tělo požadavku

`intoId` string povinné

ID of the into.

### Odpověď · 200

`customFields` object

`obor` string

`oblast` string

`region` null | string

`sleva` integer

`smlouva_od` string date

`poznamka_obchodu` string

`id` string povinné

`kind` string

`roles` string

`name` string

`nameOnDocuments` string | null

`ico` null | string

`dic` null | string

`vatPayerType` string

`email` null | string

`phone` null | string

`mobile` null | string

`www` null | string

`note` null | string

`dataBoxId` string | null

`externalCode` null | string

`usualDueDays` integer | null

`supplierDueDays` integer | null

`preferredPaymentMethod` string | null

`invoiceLanguage` null | string

`defaultCurrency` string

`creditWarnHaler` integer | null

`creditBlockHaler` integer | null

`reminderOnDue` boolean

`reminderWeekAfter` boolean

`reminder14DaysAfter` boolean

`reminderMonthAfter` boolean

`unreliableVatPayer` boolean | null

`vatCheckedAt` string | null

`viesValid` boolean | null

`viesCheckedAt` string | null

`insolvencyStatus` null | string

`insolvencyCheckedAt` null | string date-time

`insolvencyProceedings` object\[\]

`ico` null | string povinné

`url` string povinné

`name` string povinné

`state` string povinné

`active` boolean povinné

`senate` string povinné

`endedOn` any povinné

Null in every recorded response.

`startedOn` string povinné date

`fileNumber` string povinné

`gdprRestricted` boolean

`marketingOptOut` boolean

`owingHaler` integer

`groupIds` string\[\]

`groups` object\[\]

`object` "contact\_group" povinné

`id` string povinné

`name` string povinné

`createdAt` null | string date-time

`updatedAt` null | string date-time

`insolvencyWatch` boolean

`insolvencyChangedAt` null | string date-time

`addresses` object\[\]

`object` "address" povinné

`id` string povinné

`contactId` null | string povinné

`type` string povinné

`name` string | null povinné

`street` null | string povinné

`city` null | string povinné

`postalCode` null | string povinné

`country` null | string povinné

`region` null | string povinné

`email` string | null povinné

`phone` string | null povinné

`isDefault` boolean povinné

`bankAccounts` object\[\]

`object` "bank\_account" povinné

`id` string povinné

`contactId` null | string

`label` null | string

`accountNumber` null | string povinné

`bankCode` null | string povinné

`iban` null | string povinné

`currency` string povinné

`isDefault` boolean povinné

`publishedFromRegistry` boolean

`bic` null | string

`bankName` null | string

`bankStreet` string | null

`bankCity` string | null

`name` string

`swift` null | string

`ledgerAccount` string

`isActive` boolean

`openingBalanceHaler` integer

`openingDate` null | string date

`openingExchangeRate` string | null

`openingState` string

`bankBalanceHaler` integer | null

`bankBalanceOn` null | string date

`fio` object

`configured` boolean povinné

`enabled` boolean povinné

`lastSyncedAt` null | string povinné date-time

`lastSyncedOn` null | string povinné date

`lastError` null | string povinné

`createdAt` string date-time

`balanceHaler` integer

`unmatchedCount` integer

`balanceDiffHaler` integer | null

`sepaCreditorId` null | string

`persons` object\[\]

`object` "contact\_person" povinné

`id` string povinné

`contactId` string povinné

`name` string povinné

`greeting` string | null povinné

`title` null | string povinné

`email` null | string povinné

`phone` null | string povinné

`mobile` string | null povinné

`note` string | null povinné

`duplicateIco` object

`existingId` string povinné

`name` string povinné

`attachments` any\[\]

`documents` object\[\]

`object` "credit\_note" | "delivery\_note" | "invoice" | "proforma" | "received\_invoice" povinné

`id` string povinné

`number` null | string povinné

`variableSymbol` null | string

`contactId` null | string povinné

`contactName` null | string povinné

`issueDate` null | string povinné date

`dueDate` null | string date

`currency` null | string

`totalHaler` integer | null

`paidHaler` integer

`status` string povinné

`overdue` boolean

`fileId` null | string povinné

`supplierDocumentNumber` null | string

`kind` string

`originalInvoiceNumber` null | string

`deliveryDate` string date

`carrierId` string | null

`mergedFrom` string

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

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

```python
import os
import requests

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

## Seznam: osoby, kontakt

GET `/v1/contacts/{id}/persons`

List a contact's people

Nástroj MCP: `list-contact-persons`

### 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` "contact\_person" povinné

`id` string povinné

`contactId` string povinné

`name` string povinné

`greeting` string | null povinné

`title` null | string povinné

`email` null | string povinné

`phone` null | string povinné

`mobile` string | null povinné

`note` string | null 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/contacts/con_2n9F4kT7wQ1xYz0aBcDeFgHiJkL/persons \
  -H "Authorization: Bearer $DAMEDOKLAD_API_KEY"
```

```javascript
const response = await fetch('https://api.damedoklad.cz/v1/contacts/con_2n9F4kT7wQ1xYz0aBcDeFgHiJkL/persons', {
  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/contacts/con_2n9F4kT7wQ1xYz0aBcDeFgHiJkL/persons",
    headers={"Authorization": f"Bearer {os.environ['DAMEDOKLAD_API_KEY']}"},
)
data = response.json()
```

## Vytvoření: osoba, kontakt

POST `/v1/contacts/{id}/persons`

Add a person to a contact

Nástroj MCP: `create-contact-person`

### Parametry v cestě

`id` string povinné

### Tělo požadavku

`name` string povinné max 160 chars

`greeting` string | null

`title` string | null

`email` string | null

`phone` string | null

`mobile` string | null

`note` string | null

### Odpověď · 201

`id` string povinné

`contactId` string povinné

`name` string povinné

`greeting` string | null povinné

`title` null | string povinné

`email` null | string povinné

`phone` null | string povinné

`mobile` string | null povinné

`note` string | null povinné

```bash
curl -X POST https://api.damedoklad.cz/v1/contacts/con_2n9F4kT7wQ1xYz0aBcDeFgHiJkL/persons \
  -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/contacts/con_2n9F4kT7wQ1xYz0aBcDeFgHiJkL/persons', {
  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/contacts/con_2n9F4kT7wQ1xYz0aBcDeFgHiJkL/persons",
    headers={"Authorization": f"Bearer {os.environ['DAMEDOKLAD_API_KEY']}"},
    json={
        "name": "Pekárna U Lípy s.r.o."
    },
)
data = response.json()
```

## Úprava: osoba, kontakt

PATCH `/v1/contacts/{id}/persons/{personId}`

Update a person of a contact

Nástroj MCP: `update-contact-person`

### Parametry v cestě

`id` string povinné

`personId` string povinné

ID of the person.

### Tělo požadavku

`name` string max 160 chars

`greeting` string | null

`title` string | null

`email` string | null

`phone` string | null

`mobile` string | null

`note` string | null

### Odpověď · 200

`id` string povinné

`contactId` string povinné

`name` string povinné

`greeting` string | null povinné

`title` null | string povinné

`email` null | string povinné

`phone` null | string povinné

`mobile` string | null povinné

`note` string | null povinné

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

```javascript
const response = await fetch('https://api.damedoklad.cz/v1/contacts/con_2n9F4kT7wQ1xYz0aBcDeFgHiJkL/persons/obj_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.",
    "greeting": "string",
    "title": "string"
  }),
});
const data = await response.json();
```

```python
import os
import requests

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

## Smazání: osoba, kontakt

DELETE `/v1/contacts/{id}/persons/{personId}`

Remove a person from a contact

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

Nástroj MCP: `delete-contact-person`

### Parametry v cestě

`id` string povinné

`personId` string povinné

ID of the person.

### Odpověď · 200

`id` string povinné

`deleted` boolean povinné

```bash
curl -X DELETE https://api.damedoklad.cz/v1/contacts/con_2n9F4kT7wQ1xYz0aBcDeFgHiJkL/persons/obj_2n9F4kT7wQ1xYz0aBcDeFgHiJkL \
  -H "Authorization: Bearer $DAMEDOKLAD_API_KEY"
```

```javascript
const response = await fetch('https://api.damedoklad.cz/v1/contacts/con_2n9F4kT7wQ1xYz0aBcDeFgHiJkL/persons/obj_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/contacts/con_2n9F4kT7wQ1xYz0aBcDeFgHiJkL/persons/obj_2n9F4kT7wQ1xYz0aBcDeFgHiJkL",
    headers={"Authorization": f"Bearer {os.environ['DAMEDOKLAD_API_KEY']}"},
)
data = response.json()
```

## Kontrola plátce DPH

POST `/v1/contacts/{id}/vat-check`

Check the contact in the Czech VAT register: whether it is a reliable payer and which bank accounts it has published

Nástroj MCP: `vat-check-contact`

### Parametry v cestě

`id` string povinné

### Tělo požadavku

`applyAccounts` boolean

### Odpověď · 200

`source` string povinné

`checkedAt` null | string povinné date-time

`dic` null | string povinné

`unreliable` boolean povinné

`publishedAccounts` object\[\] povinné

`accountNumber` null | string povinné

`bankCode` null | string povinné

`iban` string | null povinné

`appliedAccounts` any\[\] povinné

```bash
curl -X POST https://api.damedoklad.cz/v1/contacts/con_2n9F4kT7wQ1xYz0aBcDeFgHiJkL/vat-check \
  -H "Authorization: Bearer $DAMEDOKLAD_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
  "applyAccounts": false
}'
```

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

```python
import os
import requests

response = requests.post(
    "https://api.damedoklad.cz/v1/contacts/con_2n9F4kT7wQ1xYz0aBcDeFgHiJkL/vat-check",
    headers={"Authorization": f"Bearer {os.environ['DAMEDOKLAD_API_KEY']}"},
    json={
        "applyAccounts": False
    },
)
data = response.json()
```

## Kontrola DIČ ve VIES

POST `/v1/contacts/{id}/vies`

Check the contact's EU VAT number in the VIES register

Nástroj MCP: `vies-check-contact`

### Parametry v cestě

`id` string povinné

### Odpověď · 200

`source` string povinné

`checkedAt` null | string date-time

`vatNumber` string povinné

`valid` boolean povinné

`name` null | string

`address` null | string

`wellFormed` boolean

```bash
curl -X POST https://api.damedoklad.cz/v1/contacts/con_2n9F4kT7wQ1xYz0aBcDeFgHiJkL/vies \
  -H "Authorization: Bearer $DAMEDOKLAD_API_KEY"
```

```javascript
const response = await fetch('https://api.damedoklad.cz/v1/contacts/con_2n9F4kT7wQ1xYz0aBcDeFgHiJkL/vies', {
  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/contacts/con_2n9F4kT7wQ1xYz0aBcDeFgHiJkL/vies",
    headers={"Authorization": f"Bearer {os.environ['DAMEDOKLAD_API_KEY']}"},
)
data = response.json()
```

## Export: kontakt

GET `/v1/contacts/export`

Download all contacts as an XLSX spreadsheet

Nástroj MCP: `export-contacts`

### 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.

`q` string max 200 chars

Older name for \`search\`.

`roles` string

customer, supplier, or both.

`owing` "true" | "false"

\`true\`: only contacts that owe you money.

`restricted` "true" | "false"

\`true\`: only contacts whose processing is restricted under GDPR. They are left out otherwise.

`groupId` string

Only contacts in this contact group.

`customFieldKey` string

Only records with this custom field. Alone: it has any value. With customFieldValue: exactly that value, ignoring case.

`customFieldValue` string max 2000 chars

### Odpověď · 200

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

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

```javascript
const response = await fetch('https://api.damedoklad.cz/v1/contacts/export', {
  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/contacts/export",
    headers={"Authorization": f"Bearer {os.environ['DAMEDOKLAD_API_KEY']}"},
)
content = response.content
```

## Import: kontakt

POST `/v1/contacts/import`

Import contacts from an uploaded spreadsheet file

Nástroj MCP: `import-contacts`

### Tělo požadavku

`fileBase64` string

File content encoded as base64.

`rows` object\[\]

### Odpověď · 200

`count` integer povinné

`ids` string\[\] povinné

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

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

```python
import os
import requests

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

## Turn the daily insolvency re-check on or off for many contacts at once. A contact without an IČO is reported and left as it was

POST `/v1/contacts/insolvency-watch`

Turn the daily insolvency re-check on or off for many contacts at once. A contact without an IČO is reported and left as it was

Nástroj MCP: `set-contacts-insolvency-watch`

### Tělo požadavku

`ids` string\[\] povinné

`watch` boolean povinné

### Odpověď · 200

`results` object\[\] povinné

`id` string

`ok` boolean povinné

`error` null | string

`code` null | string

`number` null | string

`stockDocumentId` null | string

`documentId` null | string

`status` string

`contactName` null | string

`name` null | string

`to` string

`amountHaler` integer | null

`movementId` null | string

`row` integer

`recognised` boolean

`shipmentId` string

`trackingNumber` null | string

`total` integer povinné

`succeeded` integer povinné

`failed` integer povinné

```bash
curl -X POST https://api.damedoklad.cz/v1/contacts/insolvency-watch \
  -H "Authorization: Bearer $DAMEDOKLAD_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
  "ids": [
    "obj_2n9F4kT7wQ1xYz0aBcDeFgHiJkL"
  ],
  "watch": false
}'
```

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

```python
import os
import requests

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

## Vyhledání v ARES

POST `/v1/contacts/lookup/ares`

Look up a company in the Czech ARES business register by IČO. Changes nothing

Nástroj MCP: `lookup-ares`

### Tělo požadavku

`ico` string povinné max 16 chars

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

### Odpověď · 200

`source` string povinné

`ico` null | string povinné

`dic` null | string povinné

`name` null | string povinné

`vatPayerType` string povinné

`address` null | object povinné

`street` null | string povinné

`city` null | string povinné

`postalCode` null | string povinné

`country` null | string povinné

```bash
curl -X POST https://api.damedoklad.cz/v1/contacts/lookup/ares \
  -H "Authorization: Bearer $DAMEDOKLAD_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
  "ico": "12345678"
}'
```

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

```python
import os
import requests

response = requests.post(
    "https://api.damedoklad.cz/v1/contacts/lookup/ares",
    headers={"Authorization": f"Bearer {os.environ['DAMEDOKLAD_API_KEY']}"},
    json={
        "ico": "12345678"
    },
)
data = response.json()
```
