# Listings

<a id="get-api-v1-backups"></a>
#### `GET /api/v1/backups`

*List local backups (server-wide)*

One page of every account's local backups (or one account's); newest first by default.

**Query parameters:**

| Name | Type | Required | Notes |
|------|------|----------|-------|
| `limit` | integer | no | minimum=1; maximum=200 |
| `offset` | integer | no | minimum=0 |
| `search` | string | no | Part of the row's text fields, any case. |
| `account` | string | no | Only this hosting account's rows. |
| `sort` | string | no | — |
| `order` | string | no | pattern=`^(asc\|desc)$` |

**Responses:**

| Status | Schema | Description |
|--------|--------|-------------|
| `200` | `ApiSuccess_PaginatedResponse_BackupResponse__` | Successful Response |
| `422` | `HTTPValidationError` | Validation Error |

**Response example (200):**

```json
{
  "data": {
    "items": [
      "..."
    ],
    "limit": 1.0,
    "offset": 0,
    "total": 0
  },
  "message": "",
  "status": "success",
  "warnings": [
    "string"
  ]
}
```

**cURL example:**

```bash
curl -X GET \
  -H "X-WHost-Key: $WHOST_API_KEY" \
  -H "X-WHost-Timestamp: $(date +%s)" \
  -H "X-WHost-Nonce: $(openssl rand -hex 16)" \
  -H "X-WHost-Signature: $(compute_hmac)" \
  https://your-server:2000/api/v1/backups
```

---

<a id="get-api-v1-backups-schedules"></a>
#### `GET /api/v1/backups/schedules`

*List backup schedules (server-wide)*

One page of every backup schedule on the server (or one account's); newest first by default.

**Query parameters:**

| Name | Type | Required | Notes |
|------|------|----------|-------|
| `limit` | integer | no | minimum=1; maximum=200 |
| `offset` | integer | no | minimum=0 |
| `search` | string | no | Part of the row's text fields, any case. |
| `account` | string | no | Only this hosting account's rows. |
| `sort` | string | no | — |
| `order` | string | no | pattern=`^(asc\|desc)$` |

**Responses:**

| Status | Schema | Description |
|--------|--------|-------------|
| `200` | `ApiSuccess_PaginatedResponse_BackupScheduleResponse__` | Successful Response |
| `422` | `HTTPValidationError` | Validation Error |

**Response example (200):**

```json
{
  "data": {
    "items": [
      "..."
    ],
    "limit": 1.0,
    "offset": 0,
    "total": 0
  },
  "message": "",
  "status": "success",
  "warnings": [
    "string"
  ]
}
```

**cURL example:**

```bash
curl -X GET \
  -H "X-WHost-Key: $WHOST_API_KEY" \
  -H "X-WHost-Timestamp: $(date +%s)" \
  -H "X-WHost-Nonce: $(openssl rand -hex 16)" \
  -H "X-WHost-Signature: $(compute_hmac)" \
  https://your-server:2000/api/v1/backups/schedules
```

---

<a id="get-api-v1-cron"></a>
#### `GET /api/v1/cron`

*List cron jobs (server-wide)*

One page of the panel-managed cron jobs of every account (or one account's); by account, then in crontab order, by default.

**Query parameters:**

| Name | Type | Required | Notes |
|------|------|----------|-------|
| `limit` | integer | no | minimum=1; maximum=200 |
| `offset` | integer | no | minimum=0 |
| `search` | string | no | Part of the row's text fields, any case. |
| `account` | string | no | Only this hosting account's rows. |
| `sort` | string | no | — |
| `order` | string | no | pattern=`^(asc\|desc)$` |

**Responses:**

| Status | Schema | Description |
|--------|--------|-------------|
| `200` | `ApiSuccess_PaginatedResponse_CronListItem__` | Successful Response |
| `422` | `HTTPValidationError` | Validation Error |

**Response example (200):**

```json
{
  "data": {
    "items": [
      "..."
    ],
    "limit": 1.0,
    "offset": 0,
    "total": 0
  },
  "message": "",
  "status": "success",
  "warnings": [
    "string"
  ]
}
```

**cURL example:**

```bash
curl -X GET \
  -H "X-WHost-Key: $WHOST_API_KEY" \
  -H "X-WHost-Timestamp: $(date +%s)" \
  -H "X-WHost-Nonce: $(openssl rand -hex 16)" \
  -H "X-WHost-Signature: $(compute_hmac)" \
  https://your-server:2000/api/v1/cron
```

---

<a id="get-api-v1-domains"></a>
#### `GET /api/v1/domains`

*List primary and addon domains (server-wide)*

One page of every account's primary and addon domains (or one account's); newest first by default.

**Query parameters:**

| Name | Type | Required | Notes |
|------|------|----------|-------|
| `limit` | integer | no | minimum=1; maximum=200 |
| `offset` | integer | no | minimum=0 |
| `search` | string | no | Part of the row's text fields, any case. |
| `account` | string | no | Only this hosting account's rows. |
| `sort` | string | no | — |
| `order` | string | no | pattern=`^(asc\|desc)$` |

**Responses:**

| Status | Schema | Description |
|--------|--------|-------------|
| `200` | `ApiSuccess_PaginatedResponse_DomainResponse__` | Successful Response |
| `422` | `HTTPValidationError` | Validation Error |

**Response example (200):**

```json
{
  "data": {
    "items": [
      "..."
    ],
    "limit": 1.0,
    "offset": 0,
    "total": 0
  },
  "message": "",
  "status": "success",
  "warnings": [
    "string"
  ]
}
```

**cURL example:**

```bash
curl -X GET \
  -H "X-WHost-Key: $WHOST_API_KEY" \
  -H "X-WHost-Timestamp: $(date +%s)" \
  -H "X-WHost-Nonce: $(openssl rand -hex 16)" \
  -H "X-WHost-Signature: $(compute_hmac)" \
  https://your-server:2000/api/v1/domains
```

---

<a id="get-api-v1-domains-parked"></a>
#### `GET /api/v1/domains/parked`

*List parked domains (server-wide)*

One page of every account's parked domains (or one account's); newest first by default.

**Query parameters:**

| Name | Type | Required | Notes |
|------|------|----------|-------|
| `limit` | integer | no | minimum=1; maximum=200 |
| `offset` | integer | no | minimum=0 |
| `search` | string | no | Part of the row's text fields, any case. |
| `account` | string | no | Only this hosting account's rows. |
| `sort` | string | no | — |
| `order` | string | no | pattern=`^(asc\|desc)$` |

**Responses:**

| Status | Schema | Description |
|--------|--------|-------------|
| `200` | `ApiSuccess_PaginatedResponse_ParkedDomainResponse__` | Successful Response |
| `422` | `HTTPValidationError` | Validation Error |

**Response example (200):**

```json
{
  "data": {
    "items": [
      "..."
    ],
    "limit": 1.0,
    "offset": 0,
    "total": 0
  },
  "message": "",
  "status": "success",
  "warnings": [
    "string"
  ]
}
```

**cURL example:**

```bash
curl -X GET \
  -H "X-WHost-Key: $WHOST_API_KEY" \
  -H "X-WHost-Timestamp: $(date +%s)" \
  -H "X-WHost-Nonce: $(openssl rand -hex 16)" \
  -H "X-WHost-Signature: $(compute_hmac)" \
  https://your-server:2000/api/v1/domains/parked
```

---

<a id="get-api-v1-domains-redirects"></a>
#### `GET /api/v1/domains/redirects`

*List redirects (server-wide)*

One page of every account's redirects (or one account's); newest first by default.

**Query parameters:**

| Name | Type | Required | Notes |
|------|------|----------|-------|
| `limit` | integer | no | minimum=1; maximum=200 |
| `offset` | integer | no | minimum=0 |
| `search` | string | no | Part of the row's text fields, any case. |
| `account` | string | no | Only this hosting account's rows. |
| `sort` | string | no | — |
| `order` | string | no | pattern=`^(asc\|desc)$` |

**Responses:**

| Status | Schema | Description |
|--------|--------|-------------|
| `200` | `ApiSuccess_PaginatedResponse_RedirectResponse__` | Successful Response |
| `422` | `HTTPValidationError` | Validation Error |

**Response example (200):**

```json
{
  "data": {
    "items": [
      "..."
    ],
    "limit": 1.0,
    "offset": 0,
    "total": 0
  },
  "message": "",
  "status": "success",
  "warnings": [
    "string"
  ]
}
```

**cURL example:**

```bash
curl -X GET \
  -H "X-WHost-Key: $WHOST_API_KEY" \
  -H "X-WHost-Timestamp: $(date +%s)" \
  -H "X-WHost-Nonce: $(openssl rand -hex 16)" \
  -H "X-WHost-Signature: $(compute_hmac)" \
  https://your-server:2000/api/v1/domains/redirects
```

---

<a id="get-api-v1-domains-subdomains"></a>
#### `GET /api/v1/domains/subdomains`

*List subdomains (server-wide)*

One page of every account's subdomains (or one account's); newest first by default.

**Query parameters:**

| Name | Type | Required | Notes |
|------|------|----------|-------|
| `limit` | integer | no | minimum=1; maximum=200 |
| `offset` | integer | no | minimum=0 |
| `search` | string | no | Part of the row's text fields, any case. |
| `account` | string | no | Only this hosting account's rows. |
| `sort` | string | no | — |
| `order` | string | no | pattern=`^(asc\|desc)$` |

**Responses:**

| Status | Schema | Description |
|--------|--------|-------------|
| `200` | `ApiSuccess_PaginatedResponse_SubdomainResponse__` | Successful Response |
| `422` | `HTTPValidationError` | Validation Error |

**Response example (200):**

```json
{
  "data": {
    "items": [
      "..."
    ],
    "limit": 1.0,
    "offset": 0,
    "total": 0
  },
  "message": "",
  "status": "success",
  "warnings": [
    "string"
  ]
}
```

**cURL example:**

```bash
curl -X GET \
  -H "X-WHost-Key: $WHOST_API_KEY" \
  -H "X-WHost-Timestamp: $(date +%s)" \
  -H "X-WHost-Nonce: $(openssl rand -hex 16)" \
  -H "X-WHost-Signature: $(compute_hmac)" \
  https://your-server:2000/api/v1/domains/subdomains
```

---

<a id="get-api-v1-emails"></a>
#### `GET /api/v1/emails`

*List mailboxes (server-wide)*

One page of the server's mailboxes, or one hosting account's with `account`. `search` matches part of the address; active mailboxes come first unless `sort=status`. `used_mb` is the usage Dovecot's quota counts.

**Query parameters:**

| Name | Type | Required | Notes |
|------|------|----------|-------|
| `limit` | integer | no | minimum=1; maximum=200 |
| `offset` | integer | no | minimum=0 |
| `search` | string | no | Part of the row's text fields, any case. |
| `account` | string | no | Only this hosting account's rows. |
| `sort` | string | no | pattern=`^(address\|quota\|used\|status\|account)$` |
| `order` | string | no | pattern=`^(asc\|desc)$` |

**Responses:**

| Status | Schema | Description |
|--------|--------|-------------|
| `200` | `ApiSuccess_PaginatedResponse_EmailListItem__` | Successful Response |
| `422` | `HTTPValidationError` | Validation Error |

**Response example (200):**

```json
{
  "data": {
    "items": [
      "..."
    ],
    "limit": 1.0,
    "offset": 0,
    "total": 0
  },
  "message": "",
  "status": "success",
  "warnings": [
    "string"
  ]
}
```

**cURL example:**

```bash
curl -X GET \
  -H "X-WHost-Key: $WHOST_API_KEY" \
  -H "X-WHost-Timestamp: $(date +%s)" \
  -H "X-WHost-Nonce: $(openssl rand -hex 16)" \
  -H "X-WHost-Signature: $(compute_hmac)" \
  https://your-server:2000/api/v1/emails
```

---

<a id="get-api-v1-emails-forwarders"></a>
#### `GET /api/v1/emails/forwarders`

*List forwarders (server-wide)*

One page of the server's forwarders, or one hosting account's with `account`. `search` matches part of the source or the destination.

**Query parameters:**

| Name | Type | Required | Notes |
|------|------|----------|-------|
| `limit` | integer | no | minimum=1; maximum=200 |
| `offset` | integer | no | minimum=0 |
| `search` | string | no | Part of the row's text fields, any case. |
| `account` | string | no | Only this hosting account's rows. |
| `sort` | string | no | pattern=`^(source\|destination\|account)$` |
| `order` | string | no | pattern=`^(asc\|desc)$` |

**Responses:**

| Status | Schema | Description |
|--------|--------|-------------|
| `200` | `ApiSuccess_PaginatedResponse_ForwarderListItem__` | Successful Response |
| `422` | `HTTPValidationError` | Validation Error |

**Response example (200):**

```json
{
  "data": {
    "items": [
      "..."
    ],
    "limit": 1.0,
    "offset": 0,
    "total": 0
  },
  "message": "",
  "status": "success",
  "warnings": [
    "string"
  ]
}
```

**cURL example:**

```bash
curl -X GET \
  -H "X-WHost-Key: $WHOST_API_KEY" \
  -H "X-WHost-Timestamp: $(date +%s)" \
  -H "X-WHost-Nonce: $(openssl rand -hex 16)" \
  -H "X-WHost-Signature: $(compute_hmac)" \
  https://your-server:2000/api/v1/emails/forwarders
```

---

<a id="get-api-v1-ssl-certificates"></a>
#### `GET /api/v1/ssl/certificates`

*List SSL certificates (server-wide)*

One page of the certificates set up for every account's primary and addon domains (or one account's); latest expiry first by default.

**Query parameters:**

| Name | Type | Required | Notes |
|------|------|----------|-------|
| `limit` | integer | no | minimum=1; maximum=200 |
| `offset` | integer | no | minimum=0 |
| `search` | string | no | Part of the row's text fields, any case. |
| `account` | string | no | Only this hosting account's rows. |
| `sort` | string | no | — |
| `order` | string | no | pattern=`^(asc\|desc)$` |

**Responses:**

| Status | Schema | Description |
|--------|--------|-------------|
| `200` | `ApiSuccess_PaginatedResponse_SSLListItem__` | Successful Response |
| `422` | `HTTPValidationError` | Validation Error |

**Response example (200):**

```json
{
  "data": {
    "items": [
      "..."
    ],
    "limit": 1.0,
    "offset": 0,
    "total": 0
  },
  "message": "",
  "status": "success",
  "warnings": [
    "string"
  ]
}
```

**cURL example:**

```bash
curl -X GET \
  -H "X-WHost-Key: $WHOST_API_KEY" \
  -H "X-WHost-Timestamp: $(date +%s)" \
  -H "X-WHost-Nonce: $(openssl rand -hex 16)" \
  -H "X-WHost-Signature: $(compute_hmac)" \
  https://your-server:2000/api/v1/ssl/certificates
```

---
