# Number series · DameDoklad API

> Operations in the Number series group.

Source: https://damedoklad.cz/en/docs/api-reference/series/

# Number series

Operations in the Number series group.

## List number series. Every issued document takes its number from one, per accounting period

GET `/v1/series`

List number series. Every issued document takes its number from one, per accounting period

MCP tool: `list-series`

### Query parameters

`periodId` string

Only series of this accounting period.

`documentType` string

For example invoice, proforma, credit\_note, delivery\_note, received\_invoice.

`limit` integer min 1 max 500

`offset` integer min 0 max 9007199254740991

`search` string max 200 chars

### Response · 200

`data` object\[\] required

`object` "series" required

`id` string required

`name` string required

`documentType` string required

`prefix` string required

`includeYear` string required

`pad` integer required

`nextNumber` integer required

`periodId` string required

`periodName` string required

`isDefault` boolean required

`isSystem` boolean required

`isActive` boolean required

`preview` string required

`total` integer

Rows that match, on all pages.

`hasMore` boolean required

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

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

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

## Create a number series for a document type and accounting period

POST `/v1/series`

Create a number series for a document type and accounting period

MCP tool: `create-series`

### Request body

`name` string max 80 chars

`documentType` "issued\_invoice" | "credit\_note" | "proforma" | "delivery\_note" | "received\_invoice" | "set\_off" | "service\_job" required

`prefix` string required max 8 chars

`includeYear` "yyyy" | "yy" | "none"

`pad` integer min 3 max 6

`nextNumber` integer min 1 max 999999

`periodId` string

ID of the period. Find it with list-periods.

`isDefault` boolean

`isActive` boolean

### Response · 201

`id` string required

`name` string required

`documentType` string required

`prefix` string required

`includeYear` string required

`pad` integer required

`nextNumber` integer required

`periodId` string required

`periodName` string required

`isDefault` boolean required

`isSystem` boolean required

`isActive` boolean required

`preview` string required

```bash
curl -X POST https://api.damedoklad.cz/v1/series \
  -H "Authorization: Bearer $DAMEDOKLAD_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
  "documentType": "issued_invoice",
  "prefix": "string"
}'
```

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

```python
import os
import requests

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

## Get a number series, with a preview of the next number

GET `/v1/series/{id}`

Get a number series, with a preview of the next number

MCP tool: `get-series`

### Path parameters

`id` string required

### Response · 200

`id` string required

`name` string required

`documentType` string required

`prefix` string required

`includeYear` string required

`pad` integer required

`nextNumber` integer required

`periodId` string required

`periodName` string required

`isDefault` boolean required

`isSystem` boolean required

`isActive` boolean required

`preview` string required

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

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

## Update a number series. Numbers already issued do not change

PATCH `/v1/series/{id}`

Update a number series. Numbers already issued do not change

MCP tool: `update-series`

### Path parameters

`id` string required

### Request body

`name` string max 80 chars

`prefix` string max 8 chars

`includeYear` "yyyy" | "yy" | "none"

`pad` integer min 3 max 6

`nextNumber` integer min 1 max 999999

`isDefault` boolean

`isActive` boolean

### Response · 200

`id` string required

`name` string required

`documentType` string required

`prefix` string required

`includeYear` string required

`pad` integer required

`nextNumber` integer required

`periodId` string required

`periodName` string required

`isDefault` boolean required

`isSystem` boolean required

`isActive` boolean required

`preview` string required

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

```javascript
const response = await fetch('https://api.damedoklad.cz/v1/series/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.",
    "prefix": "string",
    "includeYear": "yyyy"
  }),
});
const data = await response.json();
```

```python
import os
import requests

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

## Delete a number series that has not issued any number

DELETE `/v1/series/{id}`

Delete a number series that has not issued any number

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

MCP tool: `delete-series`

### Path parameters

`id` string required

### Response · 200

`id` string required

`deleted` boolean required

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

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

## Find gaps in the numbers a series has issued. Tax documents should run without gaps

GET `/v1/series/{id}/gaps`

Find gaps in the numbers a series has issued. Tax documents should run without gaps

MCP tool: `get-series-gaps`

### Path parameters

`id` string required

### Response · 200

`id` string required

`from` integer required

`to` integer required

`missing` integer\[\] required

`used` integer\[\] required

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

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