# Domains

> HTML version: https://zapped.to/api-documentation/domains
> Authentication: an API key holding the scope each endpoint lists, sent as `Authorization: Bearer YOUR_API_KEY`. See https://zapped.to/api-documentation/index.md for the base URL, errors and rate limits.

## api_documentation.domains.read_available

### api_documentation.endpoint

`GET https://zapped.to/api/domains/available`

### Authentication

An API key with the `domains:read` scope (Read domains), sent as `Authorization: Bearer YOUR_API_KEY`.

### api_documentation.example

```bash
curl --request GET \
  --url 'https://zapped.to/api/domains/available' \
  --header 'Authorization: Bearer YOUR_API_KEY'
```

| api_documentation.parameters | Details | Description |
| --- | --- | --- |
| search | api_documentation.optional, api_documentation.string | api_documentation.filters.search |
| search_by | api_documentation.optional, api_documentation.string | api_documentation.filters.search_by |
| datetime_field | api_documentation.optional, api_documentation.string | api_documentation.allowed_values |
| datetime_start | api_documentation.optional, api_documentation.string | api_documentation.filters.datetime_start |
| datetime_end | api_documentation.optional, api_documentation.string | api_documentation.filters.datetime_end |
| order_by | api_documentation.optional, api_documentation.string | api_documentation.filters.order_by |
| order_type | api_documentation.optional, api_documentation.string | api_documentation.filters.order_by_type |
| page | api_documentation.optional, api_documentation.int | api_documentation.filters.page |
| results_per_page | api_documentation.optional, api_documentation.int | api_documentation.filters.results_per_page |

### api_documentation.response

```json
{
    "data": [
        {
            "id": 1,
            "type": 0,
            "scheme": "https://",
            "host": "example.com",
            "custom_index_url": "",
            "is_enabled": true,
            "last_datetime": null,
            "datetime": "2026-09-28 08:03:32"
        }
    ],
    "meta": {
        "page": 1,
        "results_per_page": 25,
        "total": 1,
        "total_pages": 1
    },
    "links": {
        "first": "https://zapped.to/api/domains/available?page=1",
        "last": "https://zapped.to/api/domains/available?page=1",
        "next": null,
        "prev": null,
        "self": "https://zapped.to/api/domains/available?page=1"
    }
}
```

## api_documentation.read_all

### api_documentation.endpoint

`GET https://zapped.to/api/domains/`

### Authentication

An API key with the `domains:read` scope (Read domains), sent as `Authorization: Bearer YOUR_API_KEY`.

### api_documentation.example

```bash
curl --request GET \
  --url 'https://zapped.to/api/domains/' \
  --header 'Authorization: Bearer YOUR_API_KEY'
```

| api_documentation.parameters | Details | Description |
| --- | --- | --- |
| search | api_documentation.optional, api_documentation.string | api_documentation.filters.search |
| search_by | api_documentation.optional, api_documentation.string | api_documentation.filters.search_by |
| is_enabled | api_documentation.optional, api_documentation.boolean |  |
| datetime_field | api_documentation.optional, api_documentation.string | api_documentation.allowed_values |
| datetime_start | api_documentation.optional, api_documentation.string | api_documentation.filters.datetime_start |
| datetime_end | api_documentation.optional, api_documentation.string | api_documentation.filters.datetime_end |
| order_by | api_documentation.optional, api_documentation.string | api_documentation.filters.order_by |
| order_type | api_documentation.optional, api_documentation.string | api_documentation.filters.order_by_type |
| page | api_documentation.optional, api_documentation.int | api_documentation.filters.page |
| results_per_page | api_documentation.optional, api_documentation.int | api_documentation.filters.results_per_page |

### api_documentation.response

```json
{
    "data": [
        {
            "id": 1,
            "scheme": "https://",
            "host": "example.com",
            "custom_index_url": "",
            "is_enabled": true,
            "last_datetime": null,
            "datetime": "2026-09-28 08:03:32"
        }
    ],
    "meta": {
        "page": 1,
        "results_per_page": 25,
        "total": 1,
        "total_pages": 1
    },
    "links": {
        "first": "https://zapped.to/api/domains?page=1",
        "last": "https://zapped.to/api/domains?page=1",
        "next": null,
        "prev": null,
        "self": "https://zapped.to/api/domains?page=1"
    }
}
```

## api_documentation.read

### api_documentation.endpoint

`GET https://zapped.to/api/domains/{domain_id}`

### Authentication

An API key with the `domains:read` scope (Read domains), sent as `Authorization: Bearer YOUR_API_KEY`.

### api_documentation.example

```bash
curl --request GET \
  --url 'https://zapped.to/api/domains/{domain_id}' \
  --header 'Authorization: Bearer YOUR_API_KEY'
```

### api_documentation.response

```json
{
    "data": {
        "id": 1,
        "scheme": "https://",
        "host": "example.com",
        "custom_index_url": "",
        "is_enabled": true,
        "last_datetime": null,
        "datetime": "2026-09-28 08:03:32"
    }
}
```

## api_documentation.create

### api_documentation.endpoint

`POST https://zapped.to/api/domains`

### Authentication

An API key with the `domains:write` scope (Add, change and delete custom domains), sent as `Authorization: Bearer YOUR_API_KEY`.

| api_documentation.parameters | Details | Description |
| --- | --- | --- |
| host | api_documentation.required, api_documentation.string | - |
| custom_index_url | api_documentation.optional, api_documentation.string | - |
| custom_not_found_url | api_documentation.optional, api_documentation.string | - |

### api_documentation.example

```bash
curl --request POST \
  --url 'https://zapped.to/api/domains' \
  --header 'Authorization: Bearer YOUR_API_KEY' \
  --header 'Content-Type: multipart/form-data' \
  --form 'host=example.com' \
  --form 'custom_index_url=https://example.com/' \
  --form 'custom_not_found_url=https://example.com/404-page'
```

### api_documentation.response

```json
{
    "data": {
        "id": 1
    }
}
```

## api_documentation.update

### api_documentation.endpoint

`POST https://zapped.to/api/domains/{domain_id}`

### Authentication

An API key with the `domains:write` scope (Add, change and delete custom domains), sent as `Authorization: Bearer YOUR_API_KEY`.

| api_documentation.parameters | Details | Description |
| --- | --- | --- |
| host | api_documentation.optional, api_documentation.string | - |
| custom_index_url | api_documentation.optional, api_documentation.string | - |
| custom_not_found_url | api_documentation.optional, api_documentation.string | - |

### api_documentation.example

```bash
curl --request POST \
  --url 'https://zapped.to/api/domains/{domain_id}' \
  --header 'Authorization: Bearer YOUR_API_KEY' \
  --header 'Content-Type: multipart/form-data' \
  --form 'host=example.com'
```

### api_documentation.response

```json
{
    "data": {
        "id": 1
    }
}
```

## api_documentation.delete

### api_documentation.endpoint

`DELETE https://zapped.to/api/domains/{domain_id}`

### Authentication

An API key with the `domains:write` scope (Add, change and delete custom domains), sent as `Authorization: Bearer YOUR_API_KEY`.

### api_documentation.example

```bash
curl --request DELETE \
  --url 'https://zapped.to/api/domains/{domain_id}' \
  --header 'Authorization: Bearer YOUR_API_KEY'
```
