# Nextdns

NextDNS is a DNS service that enhances internet security and privacy by blocking malicious websites, tracking scripts, and ads before they reach your device.

- **Category:** security & identity tools
- **Auth:** API_KEY
- **Composio Managed App Available?** N/A
- **Tools:** 71
- **Triggers:** 0
- **Slug:** `NEXTDNS`
- **Version:** 20260312_00

## Tools

### Add Allowlist Entry

**Slug:** `NEXTDNS_ADD_ALLOWLIST_ENTRY`

Tool to add a domain to the allowlist of a NextDNS profile. Use when allowing specific domains under a profile after obtaining its ID.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `active` | boolean | No | Whether the allowlist entry is active. Defaults to true. |
| `domain` | string | Yes | The domain to add to the allowlist. |
| `profile` | string | Yes | The 6-character alphanumeric identifier of the NextDNS profile. Use NEXTDNS_LIST_CONFIGURATIONS to get available profile IDs. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Add Blocked TLD

**Slug:** `NEXTDNS_ADD_BLOCKED_TLD`

Tool to add a top-level domain to the security blocklist for a NextDNS profile. Use after listing current security settings to ensure the TLD is not already blocked.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `tld` | string | Yes | The top-level domain to block without the leading dot (e.g., 'io', 'xyz', 'network'). |
| `config` | string | Yes | ID of the NextDNS profile to update. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Add Denylist Domain

**Slug:** `NEXTDNS_ADD_DENYLIST_DOMAIN`

Tool to add a domain to the denylist of a NextDNS profile. Use when blocking specific domains under a profile after obtaining its ID.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `active` | boolean | No | Whether the denylist entry is active. Defaults to true. |
| `config` | string | Yes | NextDNS profile configuration ID. |
| `domain` | string | Yes | The domain to add to the denylist. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Add Parental Control Category

**Slug:** `NEXTDNS_ADD_PARENTAL_CONTROL_CATEGORY`

Tool to add a content category to the parental control categories list. Use when you need to add a new category to block or allow specific content types like pornography, gambling, or social networks.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `active` | boolean | No | Whether the category block is active. Set to true to block this category, false to add it as unblocked. |
| `profile` | string | Yes | The unique 6-character alphanumeric identifier of the NextDNS profile. Obtain this from the LIST_CONFIGURATIONS action. |
| `category_id` | string | Yes | The category identifier to add (e.g., 'porn', 'gambling', 'dating', 'piracy', 'social-networks'). |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Add Parental Control Service

**Slug:** `NEXTDNS_ADD_PARENTAL_CONTROL_SERVICE`

Tool to add a service to the parental control services list of a NextDNS profile. Use when blocking specific services (like social media platforms) under a profile.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `id` | string | Yes | The service ID to add (e.g., 'tiktok', 'facebook', 'instagram'). |
| `active` | boolean | No | Whether the service is blocked (true) or allowed (false). Defaults to true. |
| `profile` | string | Yes | The profile ID. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Add Privacy Blocklist

**Slug:** `NEXTDNS_ADD_PRIVACY_BLOCKLIST`

Tool to add a blocklist to the privacy blocklists for a NextDNS profile. Use when enabling additional privacy blocklists for a profile.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `id` | string | Yes | The blocklist ID to add. Common IDs include 'nextdns-recommended', 'oisd', 'easylist', 'adguard-dns-filter'. |
| `config` | string | Yes | NextDNS profile configuration ID. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Add Privacy Native Tracker

**Slug:** `NEXTDNS_ADD_PRIVACY_NATIVE`

Tool to add a native tracking service to the blocked list for a NextDNS profile. Use when blocking native trackers from specific vendors.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `id` | string | Yes | The native tracking service ID to block (e.g., 'xiaomi', 'apple', 'samsung', 'huawei', 'windows', 'amazon', 'sonos', 'roku'). |
| `profile` | string | Yes | NextDNS profile ID to add the native tracking service to. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Add DNS Rewrite Rule

**Slug:** `NEXTDNS_ADD_REWRITE`

Tool to add a DNS rewrite rule to a NextDNS profile. Use when you need to configure custom DNS resolution for specific domains.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `name` | string | Yes | The domain name to rewrite. Can be a full domain or subdomain. |
| `content` | string | Yes | The IP address or domain to rewrite to. This is the target that the domain will resolve to. |
| `profile` | string | Yes | The 6-character alphanumeric identifier of the NextDNS profile. Use NEXTDNS_LIST_CONFIGURATIONS to get available profile IDs. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Clear Logs

**Slug:** `NEXTDNS_CLEAR_LOGS`

Tool to clear DNS logs for a NextDNS profile. Use when you want to remove all existing query logs for a given profile. Note: this operation cannot be undone.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `profile_id` | string | Yes | The unique 6-character alphanumeric ID of the NextDNS profile to clear logs for. Obtain this from NEXTDNS_LIST_CONFIGURATIONS. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Create Profile

**Slug:** `NEXTDNS_CREATE_PROFILE`

This tool allows users to create a new NextDNS profile. It uses the POST method at the endpoint https://api.nextdns.io/profiles. A profile is a distinct configuration set for DNS filtering and security settings.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `name` | string | Yes | Name of the new profile. |
| `privacy` | object | No | Privacy settings for the profile. |
| `denylist` | array | No | List of domains to denylist. |
| `security` | object | No | Security settings for the profile. |
| `settings` | object | No | General settings for the profile. |
| `allowlist` | array | No | List of domains to allowlist. |
| `parentalControl` | object | No | Parental control settings for the profile. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Delete Allowlist Entry

**Slug:** `NEXTDNS_DELETE_ALLOWLIST_ENTRY`

Tool to remove a domain from a NextDNS profile's allowlist. Use when you need to stop allowing a previously whitelisted domain.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `domain` | string | Yes | The domain to remove from the profile's allowlist. Must exactly match a domain currently in the allowlist. |
| `profile` | string | Yes | The 6-character alphanumeric ID of the NextDNS profile. Use 'List Configurations' to get available profile IDs. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Delete NextDNS Configuration

**Slug:** `NEXTDNS_DELETE_CONFIG`

Tool to delete a NextDNS configuration profile. Use when you need to remove an existing profile by its ID. Use after confirming the profile exists.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `profile` | string | Yes | The ID of the NextDNS configuration profile to delete |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Delete Parental Control Category

**Slug:** `NEXTDNS_DELETE_PARENTAL_CONTROL_CATEGORY`

Tool to remove a category from parental control blocked categories. Use when you need to unblock a content category that was previously blocked. Use 'Get Parental Control Categories' first to verify the category is currently blocked.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `profile` | string | Yes | The unique 6-character alphanumeric identifier of the NextDNS profile. Obtain this from the LIST_CONFIGURATIONS action. |
| `category_id` | string | Yes | The category identifier to remove from blocked categories (e.g., 'dating', 'porn', 'gambling', 'social-networks'). |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Delete Parental Control Service

**Slug:** `NEXTDNS_DELETE_PARENTAL_CONTROL_SERVICE`

Tool to remove a service from parental control blocked services. Use when you need to unblock a service (like TikTok, Instagram, or other apps) that was previously blocked.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `profile` | string | Yes | The unique 6-character alphanumeric identifier of the NextDNS profile. Obtain this from the LIST_CONFIGURATIONS action. |
| `service_id` | string | Yes | The service identifier to remove from blocked services (e.g., 'tiktok', 'instagram', 'facebook', 'snapchat', 'twitter', 'youtube'). |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Delete Privacy Blocklist

**Slug:** `NEXTDNS_DELETE_PRIVACY_BLOCKLIST`

Tool to remove a blocklist from the privacy blocklists for a NextDNS profile. Use when disabling or removing privacy blocklists from a profile.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `profile` | string | Yes | The ID of the NextDNS profile. This is the unique 6-character alphanumeric identifier for the profile. |
| `blocklist_id` | string | Yes | The blocklist identifier to remove. Common IDs include 'nextdns-recommended', 'oisd', 'easylist', 'adguard-dns-filter'. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Delete Privacy Native Tracker

**Slug:** `NEXTDNS_DELETE_PRIVACY_NATIVE`

Tool to remove a native tracking entry from a NextDNS profile's privacy settings. Use when you need to stop blocking a specific native app tracker (like Apple, Samsung, Huawei, etc.).

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `profile` | string | Yes | The 6-character alphanumeric ID of the NextDNS profile. Use 'List Configurations' to get available profile IDs. |
| `native_id` | string | Yes | The native tracking identifier to remove. Must exactly match a native tracker currently in the profile's privacy settings. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Delete DNS Rewrite Rule

**Slug:** `NEXTDNS_DELETE_REWRITE`

Tool to delete a DNS rewrite rule from a NextDNS profile. Use when you need to remove an existing DNS rewrite rule by its ID.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `profile` | string | Yes | The 6-character alphanumeric ID of the NextDNS profile. Use 'List Configurations' to get available profile IDs. |
| `rewrite_id` | string | Yes | The unique identifier of the DNS rewrite rule to delete. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Download Logs

**Slug:** `NEXTDNS_DOWNLOAD_LOGS`

Retrieves the download URL for exported DNS query logs from a NextDNS profile. Returns a time-limited URL pointing to a CSV file containing the profile's DNS logs. Use this to export log data for analysis, backup, or compliance purposes. The profile_id can be obtained from the list_configurations action.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `redirect` | boolean | No | Controls the API response format. When True (default), the API returns a 302 redirect with the log file URL in the Location header. When False, the API returns a JSON response containing the 'url' field. Either way, this tool extracts and returns the URL. |
| `profile_id` | string | Yes | ID of the NextDNS profile to download logs for (e.g., 'abc123'). |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Get Allowlist

**Slug:** `NEXTDNS_GET_ALLOWLIST`

Tool to retrieve the list of allowed domains for a NextDNS profile. Use when you need to view all domains currently whitelisted in a profile.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `profile` | string | Yes | The 6-character alphanumeric identifier of the NextDNS profile. Use LIST_CONFIGURATIONS to get available profile IDs. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Get Analytics Destinations

**Slug:** `NEXTDNS_GET_ANALYTICS_DESTINATIONS`

Tool to retrieve destination analytics for a profile showing query destinations by country or GAFAM company. Use when you need to understand geographic distribution or big tech company query patterns.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `type` | string ("countries" | "gafam") | Yes | Destination type: 'countries' for geographic distribution by country code, or 'gafam' for GAFAM (Google, Apple, Facebook, Amazon, Microsoft) company distribution. |
| `limit` | integer | No | Limit number of items to return (1-500) |
| `cursor` | string | No | Opaque pagination cursor for next page |
| `device` | string | No | Filter analytics for a specific device ID. Use '__UNIDENTIFIED__' for unidentified devices. |
| `profile` | string | Yes | The 6-character alphanumeric NextDNS profile ID (e.g., 'ef5c1a'). Use LIST_CONFIGURATIONS to get available profile IDs. |
| `to_date` | string | No | Filter out entities with date newer or equal (exclusive). Same formats as from_date. |
| `from_date` | string | No | Filter out entities with date older than (inclusive). Supports ISO8601, Unix timestamps, and relative dates (e.g. '-7d'). |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Get Analytics Devices

**Slug:** `NEXTDNS_GET_ANALYTICS_DEVICES2`

Tool to retrieve device analytics for a profile showing identified devices with names, models, and query counts. Use when you need per-device query metrics within a specific time frame.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `limit` | integer | No | Limit results per page (1-500, default: 10). |
| `cursor` | string | No | Pagination cursor for next page |
| `device` | string | No | Filter by specific device ID. Use '__UNIDENTIFIED__' to target unidentified devices. |
| `profile` | string | Yes | ID of the NextDNS profile to query |
| `to_date` | string | No | Filter out entities with newer or equal date (exclusive). Supports same formats as from_date. |
| `from_date` | string | No | Filter out entities with older date (inclusive). Supports ISO 8601, Unix timestamps (s/ms), relative (e.g., '-7d'), or common date formats. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Get Analytics DNSSEC

**Slug:** `NEXTDNS_GET_ANALYTICS_DNSSEC`

Tool to retrieve DNSSEC validation analytics for a profile showing validated vs non-validated query counts. Use after selecting a profile to analyze DNSSEC validation statistics.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `limit` | integer | No | Number of results per page (1-500). |
| `cursor` | string | No | Opaque pagination cursor for next page. |
| `device` | string | No | Filter analytics for a specific device ID. Use '__UNIDENTIFIED__' to filter unidentified devices only. |
| `profile` | string | Yes | NextDNS profile ID (6-character alphanumeric identifier). Obtain from NEXTDNS_LIST_CONFIGURATIONS. |
| `to_date` | string | No | Exclusive end date filter. Same formats as from_date. |
| `from_date` | string | No | Inclusive start date filter. Supports ISO8601, Unix timestamps, and relative formats (e.g., '-7d'). |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Get Analytics Domains

**Slug:** `NEXTDNS_GET_ANALYTICS_DOMAINS`

Tool to retrieve analytics data for domains within a specific profile. Use after confirming the profile ID to get per-domain query stats.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `root` | boolean | No | Return root domains instead of full hostnames (e.g. 'icloud.com' instead of 'gateway.icloud.com'). |
| `limit` | integer | No | Limit number of items to return (1-500) |
| `cursor` | string | No | Opaque pagination cursor for next page |
| `device` | string | No | Filter analytics for a specific device ID. Use '__UNIDENTIFIED__' for unidentified devices. |
| `status` | string ("default" | "blocked" | "allowed") | No | Filter domains by resolution status: 'default' (resolved normally), 'blocked' (blocked by rules/security), or 'allowed' (explicitly allowed). |
| `profile` | string | Yes | The 6-character alphanumeric NextDNS profile ID (e.g., 'ef5c1a'). Use LIST_CONFIGURATIONS to get available profile IDs. |
| `to_date` | string | No | Filter out entities with date newer or equal (exclusive). Same formats as from_date. |
| `from_date` | string | No | Filter out entities with date older than (inclusive). Supports ISO8601, Unix timestamps, and relative dates (e.g. '-7d'). |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Get Analytics Encryption

**Slug:** `NEXTDNS_GET_ANALYTICS_ENCRYPTION`

Tool to retrieve encryption analytics for a profile showing encrypted vs unencrypted query counts. Use when you need to understand the breakdown of DNS queries by encryption status (DoH/DoT vs plain DNS).

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `to` | string | No | Filter out entities with newer or equal date (exclusive). Same formats as from. |
| `from` | string | No | Filter out entities with older date (inclusive). Supports ISO8601, Unix timestamps, and relative dates (e.g., '-7d'). |
| `limit` | integer | No | Limit number of results per page (1-500). |
| `cursor` | string | No | Pagination cursor for next page |
| `device` | string | No | Filter analytics for a specific device ID. Use '__UNIDENTIFIED__' for unidentified devices. |
| `profile` | string | Yes | The 6-character alphanumeric NextDNS profile ID (e.g., 'ef5c1a'). Use LIST_CONFIGURATIONS to get available profile IDs. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Get Analytics IPs

**Slug:** `NEXTDNS_GET_ANALYTICS_IPS`

Tool to retrieve analytics aggregated by client IP addresses. Use when you need to analyze DNS query distribution per client IP for a given profile.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `to` | string | No | Exclusive end date filter. Same formats as `from`. |
| `from` | string | No | Inclusive start date filter. Supports ISO8601, Unix timestamps (s/ms), relative (e.g. '-7d') or common date formats. |
| `limit` | integer | No | Limit number of items to return (1-500). |
| `cursor` | string | No | Opaque pagination cursor for next page. |
| `device` | string | No | Filter analytics for a specific device ID. Use '__UNIDENTIFIED__' for unidentified devices. |
| `profile` | string | Yes | ID of the NextDNS profile to query |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Get Analytics IP Versions

**Slug:** `NEXTDNS_GET_ANALYTICS_IP_VERSIONS`

Tool to retrieve analytics grouped by IP version within a specific profile. Use after you have a profile ID to see IPv4 vs IPv6 query counts.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `to` | string | No | Filter out entities with date newer or equal (exclusive). Same formats as from_date. |
| `from` | string | No | Filter out entities with date older than (inclusive). Supports ISO8601, Unix timestamps (s/ms), relative dates (e.g. '-7d'), or common date formats. |
| `limit` | integer | No | Limit number of items to return (1-500) |
| `cursor` | string | No | Opaque pagination cursor for next page |
| `device` | string | No | Filter analytics for a specific device ID. Use '__UNIDENTIFIED__' for unidentified devices. |
| `profile` | string | Yes | The 6-character alphanumeric NextDNS profile ID (e.g., 'ef5c1a'). Obtain this from the list_configurations action. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Get Analytics Protocols

**Slug:** `NEXTDNS_GET_ANALYTICS_PROTOCOLS`

Tool to retrieve protocol analytics for a specific profile showing DNS protocol distribution (DNS-over-HTTPS, DNS-over-TLS, UDP). Use after confirming the profile ID to analyze protocol usage patterns.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `limit` | integer | No | Limit number of items to return (1-500) |
| `cursor` | string | No | Opaque pagination cursor for next page |
| `device` | string | No | Filter analytics for a specific device ID. Use '__UNIDENTIFIED__' for unidentified devices. |
| `profile` | string | Yes | The 6-character alphanumeric NextDNS profile ID (e.g., 'ef5c1a'). Use LIST_CONFIGURATIONS to get available profile IDs. |
| `to_date` | string | No | Filter out entities with date newer or equal (exclusive). Same formats as from_date. |
| `from_date` | string | No | Filter out entities with date older than (inclusive). Supports ISO8601, Unix timestamps, and relative dates (e.g. '-7d'). |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Get Analytics Query Types

**Slug:** `NEXTDNS_GET_ANALYTICS_QUERY_TYPES`

Tool to retrieve DNS query counts broken down by query type. Use after selecting a profile and specifying date filters to analyze distribution by type.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `limit` | integer | No | Number of results per page (1-500). |
| `cursor` | string | No | Opaque pagination cursor for next page. |
| `device` | string | No | Filter by device ID; use '__UNIDENTIFIED__' for unidentified devices. |
| `profile` | string | Yes | ID of the NextDNS profile to query |
| `to_date` | string | No | Exclusive end date filter (exclusive). Same formats as from_date. |
| `from_date` | string | No | Inclusive start date filter (inclusive). Supports ISO 8601, Unix timestamps (s/ms), relative dates (e.g., '-7d'), or common date formats. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Get Analytics Blocking Reasons

**Slug:** `NEXTDNS_GET_ANALYTICS_REASONS2`

Tool to retrieve blocking reasons analytics showing blocklists, native tracking protection, and other reasons for blocked queries. Use after selecting a profile to understand what categories are blocking queries.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `limit` | integer | No | Number of results per page (1-500, default: 10). |
| `cursor` | string | No | Opaque pagination cursor for next page. |
| `device` | string | No | Filter analytics for a specific device ID. Use '__UNIDENTIFIED__' to filter unidentified devices only. |
| `profile` | string | Yes | NextDNS profile ID (6-character alphanumeric identifier). Obtain from NEXTDNS_LIST_CONFIGURATIONS. |
| `to_date` | string | No | Exclusive end date filter. Same formats as from_date. |
| `from_date` | string | No | Inclusive start date filter. Supports ISO8601, Unix timestamps, and relative formats (e.g., '-7d'). |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Get Analytics Status

**Slug:** `NEXTDNS_GET_ANALYTICS_STATUS`

Tool to retrieve analytics status for a specific profile. Use when you need counts of DNS queries broken down by status categories.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `to` | string | No | Exclusive end date filter (exclusive). Same formats as `from`. |
| `from` | string | No | Inclusive start date filter (inclusive). Supports ISO 8601, Unix timestamps (s/ms), relative (e.g., '-7d'), or common date formats. |
| `limit` | integer | No | Number of results per page (1-500). |
| `cursor` | string | No | Pagination cursor for the next page. |
| `device` | string | No | Filter results by device ID. Use '__UNIDENTIFIED__' for unidentified devices. |
| `profile` | string | Yes | ID of the NextDNS profile to query |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Get Logs

**Slug:** `NEXTDNS_GET_LOGS`

Tool to retrieve logs for a specific NextDNS profile with optional filters. Use after confirming the profile ID to fetch raw or filtered DNS logs.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `to` | string | No | Filter out logs newer or equal to this date (exclusive). Same formats as `from`. |
| `raw` | boolean | No | Return raw DNS queries instead of filtered navigational ones. |
| `from` | string | No | Filter out logs older than or equal to this date (inclusive). Accepts ISO8601, unix timestamps, relative (e.g. '-1d'), or common date formats. |
| `sort` | string ("asc" | "desc") | No | Order of returned logs: 'asc' for oldest→newest or 'desc' for newest→oldest. |
| `limit` | integer | No | Maximum number of logs to return (10–1000). |
| `cursor` | string | No | Opaque pagination cursor from previous response. |
| `device` | string | No | Filter logs for a specific device ID. |
| `search` | string | No | Search logs by domain or substring. E.g., 'facebook' matches any domain containing that substring. |
| `status` | string ("default" | "error" | "blocked" | "allowed") | No | Filter logs by status. |
| `profile` | string | Yes | ID of the NextDNS profile to retrieve logs for. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Get Parental Control Settings

**Slug:** `NEXTDNS_GET_PARENTAL_CONTROL`

Tool to get parental control settings for a profile. Returns services, categories, safe search, YouTube restricted mode, and bypass blocking status.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `profile` | string | Yes | The unique 6-character alphanumeric identifier of the NextDNS profile. Obtain this from the LIST_CONFIGURATIONS action. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Get Parental Control Categories

**Slug:** `NEXTDNS_GET_PARENTAL_CONTROL_CATEGORIES`

Tool to get the list of blocked/allowed content categories for parental control. Use when you need to check which content categories are currently blocked or allowed for a specific profile.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `profile` | string | Yes | The unique 6-character alphanumeric identifier of the NextDNS profile. Obtain this from the LIST_CONFIGURATIONS action. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Get Parental Control Services

**Slug:** `NEXTDNS_GET_PARENTAL_CONTROL_SERVICES`

Tool to get the list of blocked/allowed services for parental control. Use when you need to review which services (like TikTok, Facebook, Netflix) are currently blocked or allowed in a profile's parental control settings.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `profile` | string | Yes | The unique 6-character alphanumeric identifier of the NextDNS profile. Obtain this from the LIST_CONFIGURATIONS action. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Get Performance Settings

**Slug:** `NEXTDNS_GET_PERFORMANCE_SETTINGS`

Tool to get performance settings for a profile including ECS, cache boost, and CNAME flattening configuration. Use when you need to check current performance optimization settings before making changes.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `profile` | string | Yes | The unique 6-character alphanumeric identifier of the NextDNS profile to retrieve performance settings for. Obtain this from the LIST_CONFIGURATIONS action. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Get Privacy Settings

**Slug:** `NEXTDNS_GET_PRIVACY_SETTINGS`

Tool to get privacy settings for a profile including blocklists, native tracking settings, disguised trackers, and affiliate settings. Use when you need to check the current privacy configuration before making changes.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `profile` | string | Yes | The unique 6-character alphanumeric identifier of the NextDNS profile to retrieve privacy settings for. Obtain this from the LIST_CONFIGURATIONS action. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Get Profile Details

**Slug:** `NEXTDNS_GET_PROFILE`

Retrieves the details of a specific NextDNS profile. It requires a 'profileId' as a path parameter and returns the profile details including name, security, privacy, parental control, denylist, allowlist, and general settings.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `profileId` | string | Yes | The unique 6-character alphanumeric identifier of the NextDNS profile to retrieve. Obtain this from the LIST_CONFIGURATIONS action. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Get DNS Rewrites

**Slug:** `NEXTDNS_GET_REWRITES`

Tool to retrieve the list of DNS rewrites for a NextDNS profile. Use when you need to view all custom DNS rewrite rules configured in a profile.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `profile` | string | Yes | The 6-character alphanumeric identifier of the NextDNS profile. Use LIST_CONFIGURATIONS to get available profile IDs. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Get Security TLDs

**Slug:** `NEXTDNS_GET_SECURITY_TLDS`

Tool to get the list of blocked TLDs (top-level domains) for a profile's security settings. Use when you need to retrieve only the blocked TLDs without fetching all security settings.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `profile` | string | Yes | The profile ID to retrieve blocked TLDs for. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Get Profile Settings

**Slug:** `NEXTDNS_GET_SETTINGS`

Tool to get all settings for a NextDNS profile including logs, block page, performance, and web3 settings. Use when you need to retrieve the current configuration settings of a profile.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `profile` | string | Yes | The unique 6-character alphanumeric identifier of the NextDNS profile to retrieve settings for. Obtain this from the list_profiles action. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Get Block Page Settings

**Slug:** `NEXTDNS_GET_SETTINGS_BLOCKPAGE`

Tool to retrieve the block page settings for a NextDNS profile. Use when you need to check if the block page is currently enabled or disabled for a specific profile.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `profile` | string | Yes | The unique identifier of the NextDNS profile. Use LIST_CONFIGURATIONS to get available profile IDs. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Get Logging Settings

**Slug:** `NEXTDNS_GET_SETTINGS_LOGS`

Tool to retrieve the logging settings for a NextDNS profile. Use when you need to check logging status, data retention period, storage location, or privacy options.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `profile` | string | Yes | The unique identifier of the NextDNS profile. Use LIST_CONFIGURATIONS to get available profile IDs. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### List Denylist Domains

**Slug:** `NEXTDNS_LIST_DENYLIST_DOMAINS`

Tool to list domains in the denylist for a profile. Use after confirming the profile ID to review all blocked domains. Example: "List denylist domains for profile abc123."

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `profile` | string | Yes | The 6-character alphanumeric identifier of the NextDNS profile whose denylist to retrieve. Use NEXTDNS_LIST_CONFIGURATIONS to get available profile IDs. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### List Profiles

**Slug:** `NEXTDNS_LIST_PROFILES`

List all NextDNS profiles for the authenticated user, returning profile IDs and configurations. Returns all profiles with their IDs, names, fingerprints, and user roles. Profile IDs returned by this action are used as the 'profileId' or 'config_id' parameter for other NextDNS actions (e.g., get profile details, update profile, etc.).

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### List Security Settings

**Slug:** `NEXTDNS_LIST_SECURITY_SETTINGS`

Tool to list current security options for a NextDNS configuration. Use after obtaining the configuration ID to review active security settings.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `config` | string | Yes | NextDNS profile configuration ID. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Log Client IPs

**Slug:** `NEXTDNS_LOG_CLIENT_IPS`

Tool to enable or disable logging of client IPs for a NextDNS configuration. Use when you need to toggle whether client IPs are recorded in DNS logs.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `enable` | boolean | Yes | True to enable logging of client IPs, False to disable. |
| `config_id` | string | Yes | NextDNS configuration (profile) ID. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Toggle Domain Logging

**Slug:** `NEXTDNS_LOG_DOMAINS`

Tool to enable or disable logging of domains for a NextDNS profile. Use after retrieving profile settings when you need to adjust domain logging. Example: "Enable domain logging for profile abc123."

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `enabled` | boolean | Yes | Whether to enable (True) or disable (False) logging of domains in the profile’s DNS logs. |
| `profile_id` | string | Yes | ID of the NextDNS profile to update. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Remove Blocked TLD

**Slug:** `NEXTDNS_REMOVE_BLOCKED_TLD`

Tool to remove a top-level domain from the security blocklist for a NextDNS profile. Use after listing current security settings to confirm the TLD is currently blocked.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `tld` | string | Yes | The top-level domain to unblock (without leading dot, e.g., 'io' not '.io'). |
| `config` | string | Yes | ID of the NextDNS profile to update. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Remove Denylist Domain

**Slug:** `NEXTDNS_REMOVE_DENYLIST_DOMAIN`

Removes a domain from a NextDNS profile's denylist (blocklist). The domain will no longer be blocked by the DNS filter after removal. Use 'List Denylist Domains' first to verify the domain exists in the denylist before attempting removal.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `domain` | string | Yes | The domain to remove from the profile's denylist. Must exactly match a domain currently in the denylist. |
| `profile` | string | Yes | The 6-character alphanumeric ID of the NextDNS profile. Use 'List Configurations' to get available profile IDs. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Rename Configuration

**Slug:** `NEXTDNS_RENAME_CONFIG`

Tool to rename a NextDNS configuration (profile). Use when you need to update a profile's name after obtaining its ID. Example: RenameConfig(name="Home Profile", config_id="d46a5b")

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `name` | string | Yes | The new name for the configuration. Must be non-empty and at most 100 characters. |
| `config_id` | string | Yes | The NextDNS configuration (profile) ID to rename. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Replace Allowlist

**Slug:** `NEXTDNS_REPLACE_ALLOWLIST`

Tool to replace the entire allowlist for a NextDNS profile. Use when you need to set a complete list of allowed domains, replacing all existing entries.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `profile` | string | Yes | The 6-character alphanumeric identifier of the NextDNS profile. Use NEXTDNS_LIST_CONFIGURATIONS to get available profile IDs. |
| `allowlist` | array | Yes | Array of domain objects to set as the complete allowlist. This will replace all existing allowlist entries. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Replace Denylist

**Slug:** `NEXTDNS_REPLACE_DENYLIST`

Tool to replace the entire denylist (blocked domains) for a NextDNS profile. This operation completely replaces all existing denylist entries with the provided list. Use when you need to bulk update the denylist or clear all blocked domains. To add/remove individual domains, use NEXTDNS_ADD_DENYLIST_DOMAIN or NEXTDNS_REMOVE_DENYLIST_DOMAIN instead.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `profile` | string | Yes | The 6-character alphanumeric identifier of the NextDNS profile whose denylist to replace. Use NEXTDNS_LIST_CONFIGURATIONS to get available profile IDs. |
| `denylist` | array | Yes | Array of domain objects to set as the complete denylist. This will replace all existing denylist entries. Each entry requires 'id' (domain name) and 'active' (boolean) fields. Pass an empty array to clear the denylist. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Replace Parental Control Categories

**Slug:** `NEXTDNS_REPLACE_PARENTAL_CONTROL_CATEGORIES`

Tool to replace the entire list of blocked/allowed content categories for parental control. Use this to set which content categories should be blocked or allowed for a profile.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `profile` | string | Yes | The 6-character alphanumeric NextDNS profile ID. Use NEXTDNS_LIST_CONFIGURATIONS to get available profile IDs. |
| `categories` | array | Yes | Complete array of category objects to replace the existing list. Each object must have 'id' (category name) and 'active' (boolean) properties. This replaces the entire categories list. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Replace Parental Control Services

**Slug:** `NEXTDNS_REPLACE_PARENTAL_CONTROL_SERVICES`

Tool to replace the entire list of blocked/allowed services for parental control. Use when you need to set all service restrictions at once, replacing existing settings.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `profile` | string | Yes | The 6-character alphanumeric NextDNS profile ID. Get this from NEXTDNS_LIST_CONFIGURATIONS. |
| `services` | array | Yes | Complete list of services to set. Each entry requires 'id' (service identifier) and 'active' (true to block, false to allow). Use an empty list [] to clear all service restrictions. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Replace Privacy Blocklists

**Slug:** `NEXTDNS_REPLACE_PRIVACY_BLOCKLISTS`

Tool to replace the entire list of privacy blocklists for a NextDNS profile. This operation completely replaces all existing blocklists with the provided list. Use when you need to bulk update privacy blocklists or clear all blocklists.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `profile` | string | Yes | The unique 6-character alphanumeric identifier of the NextDNS profile. Obtain this from the LIST_PROFILES or LIST_CONFIGURATIONS action. |
| `blocklists` | array | Yes | Array of blocklist objects to set as the complete privacy blocklists. This will replace all existing blocklists. Each entry requires 'id' field. Pass an empty array to clear all blocklists. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Replace Privacy Native Tracking Services

**Slug:** `NEXTDNS_REPLACE_PRIVACY_NATIVES`

Tool to replace the entire list of blocked native tracking services for a NextDNS profile. This operation completely replaces all existing native tracking service blocks with the provided list. Use when you need to bulk update blocked native trackers or clear all blocks.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `natives` | array | Yes | Array of native tracking service objects to set as the complete list. This will replace all existing native tracking service entries. Each entry requires an 'id' field with the service identifier. Pass an empty array to unblock all native tracking services. |
| `profile` | string | Yes | The 6-character alphanumeric identifier of the NextDNS profile whose native tracking services to replace. Use NEXTDNS_LIST_CONFIGURATIONS to get available profile IDs. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Replace Security TLDs

**Slug:** `NEXTDNS_REPLACE_SECURITY_TLDS`

Tool to replace the entire list of blocked TLDs (top-level domains) for a NextDNS profile's security settings. This operation completely replaces all existing blocked TLDs with the provided list. Use when you need to bulk update blocked TLDs or clear all TLD blocks. To add/remove individual TLDs, use NEXTDNS_ADD_BLOCKED_TLD or NEXTDNS_REMOVE_BLOCKED_TLD instead.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `tlds` | array | Yes | Array of TLD objects to set as the complete blocked TLD list. This will replace all existing blocked TLDs. Pass an empty array to clear all blocked TLDs. |
| `profile` | string | Yes | The 6-character alphanumeric identifier of the NextDNS profile. Use NEXTDNS_LIST_CONFIGURATIONS to get available profile IDs. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Update Allowlist Entry

**Slug:** `NEXTDNS_UPDATE_ALLOWLIST_ENTRY`

Tool to update a specific allowlist entry in a NextDNS profile. Use when toggling the active status of a domain in the allowlist.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `active` | boolean | Yes | Whether the allowlist entry should be active (true) or inactive (false). When inactive, the domain will not be allowed through the filter. |
| `domain` | string | Yes | The domain name of the allowlist entry to update. Must exactly match a domain currently in the allowlist. |
| `profile` | string | Yes | The 6-character alphanumeric ID of the NextDNS profile. Use NEXTDNS_LIST_CONFIGURATIONS to get available profile IDs. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Update Denylist Entry

**Slug:** `NEXTDNS_UPDATE_DENYLIST_ENTRY`

Updates a specific denylist entry in a NextDNS profile, typically to toggle its active status. Use when you need to temporarily enable or disable blocking for a domain without removing it from the denylist.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `active` | boolean | Yes | Whether the denylist entry should be active (true) or inactive (false). Set to false to temporarily disable blocking without removing the entry. |
| `domain` | string | Yes | The domain name of the denylist entry to update. Must exactly match a domain currently in the denylist. |
| `profile` | string | Yes | The 6-character alphanumeric ID of the NextDNS profile. Use 'List Configurations' to get available profile IDs. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Update linked IP

**Slug:** `NEXTDNS_UPDATE_LINKED_IP`

Updates the linked IP address for a NextDNS profile to the current caller's public IP. This is used for dynamic DNS setups where the profile needs to recognize the user's current IP address for DNS filtering to work properly.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `config_id` | string | Yes | The unique 6-character alphanumeric ID of the NextDNS profile (configuration). Obtain this from the 'List Configurations' action. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Update Parental Control Settings

**Slug:** `NEXTDNS_UPDATE_PARENTAL_CONTROL`

Tool to update parental control settings for a NextDNS profile. Use when you need to change safe search, YouTube restricted mode, or bypass blocking settings.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `profile` | string | Yes | The 6-character alphanumeric NextDNS profile ID to update parental control settings for. Get this from the list_configurations action. |
| `safeSearch` | boolean | No | Enable (true) or disable (false) safe search enforcement on search engines like Google, Bing, DuckDuckGo, etc. |
| `blockBypass` | boolean | No | Block (true) or allow (false) bypass methods such as VPNs, proxies, and Tor to prevent circumventing parental controls. |
| `youtubeRestrictedMode` | boolean | No | Enable (true) or disable (false) YouTube Restricted Mode to filter out potentially mature content. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Update Parental Control Category

**Slug:** `NEXTDNS_UPDATE_PARENTAL_CONTROL_CATEGORY`

Tool to update a specific category entry in parental control settings. Use when you need to enable or disable blocking for a specific content category like pornography, gambling, or social networks.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `active` | boolean | Yes | Whether the category block is active. Set to true to block this category, false to unblock. |
| `profile` | string | Yes | NextDNS profile configuration ID. Get this from NEXTDNS_LIST_CONFIGURATIONS. |
| `category_id` | string | Yes | The category identifier to update (e.g., 'porn', 'gambling', 'dating', 'piracy', 'social-networks'). |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Update Parental Control Service

**Slug:** `NEXTDNS_UPDATE_PARENTAL_CONTROL_SERVICE`

Tool to update a specific service entry in parental control settings. Use when toggling individual service blocks (e.g., blocking TikTok, Instagram, or other social media/gaming services).

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `active` | boolean | Yes | Set to true to block the service, or false to allow it. When active=true, the service will be blocked by the DNS filter. |
| `profile` | string | Yes | The 6-character alphanumeric NextDNS profile ID. Use NEXTDNS_LIST_CONFIGURATIONS to get available profile IDs. |
| `service_id` | string | Yes | The service identifier to update. Common service IDs include: tiktok, instagram, facebook, snapchat, twitter, youtube, netflix, fortnite, roblox, minecraft, discord, telegram, whatsapp, etc. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Update Performance Settings

**Slug:** `NEXTDNS_UPDATE_PERFORMANCE_SETTINGS`

Tool to update performance settings of a NextDNS profile. Use when adjusting performance optimizations after reviewing current settings.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `ecs` | boolean | Yes | Enable (true) or disable (false) EDNS Client Subnet (ECS). |
| `config` | string | Yes | NextDNS profile configuration ID to update. |
| `cacheBoost` | boolean | Yes | Enable (true) or disable (false) cache boost. |
| `cnameFlattening` | boolean | Yes | Enable (true) or disable (false) CNAME flattening. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Update Privacy Settings

**Slug:** `NEXTDNS_UPDATE_PRIVACY_SETTINGS`

Tool to update privacy settings for a profile. Use when you need to change blocklists, native trackers, disguisedTrackers, or allowAffiliate in one call.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `config` | string | Yes | NextDNS profile configuration ID to update privacy settings for. Get this from the list_configurations action. |
| `natives` | array | No | List of native trackers to block. When provided, replaces ALL existing native trackers. Use an empty list [] to remove all. Common IDs: 'apple', 'samsung', 'windows', 'huawei', 'xiaomi', 'amazon', 'sonos', 'roku'. |
| `blocklists` | array | No | List of blocklists to enable. When provided, replaces ALL existing blocklists. Use an empty list [] to remove all blocklists. Common IDs: 'nextdns-recommended', 'oisd', 'easylist', 'adguard-dns-filter'. |
| `allowAffiliate` | boolean | No | Allow (true) or block (false) affiliate and tracking links while preserving privacy. |
| `disguisedTrackers` | boolean | No | Enable (true) or disable (false) blocking of disguised third-party trackers using CNAME cloaking. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Update Security Settings

**Slug:** `NEXTDNS_UPDATE_SECURITY_SETTINGS`

Tool to update security settings for a profile. Use when you need to change multiple security settings like threat intelligence, AI detection, safe browsing, and other protections in one call.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `dga` | boolean | No | Enable (true) or disable (false) blocking of DGA (Domain Generation Algorithm) domains often used by malware. |
| `nrd` | boolean | No | Enable (true) or disable (false) blocking of newly registered domains (less than 30 days old) to prevent zero-day attacks. |
| `csam` | boolean | No | Enable (true) or disable (false) blocking of domains associated with child sexual abuse material (CSAM). |
| `ddns` | boolean | No | Enable (true) or disable (false) blocking of dynamic DNS domains often used by malware for command and control. |
| `parking` | boolean | No | Enable (true) or disable (false) blocking of parked domains that display ads or redirect traffic. |
| `profile` | string | Yes | NextDNS profile ID to update security settings for. Get this from the list_profiles action. |
| `dnsRebinding` | boolean | No | Enable (true) or disable (false) DNS rebinding protection to prevent attacks on your local network. |
| `cryptojacking` | boolean | No | Enable (true) or disable (false) blocking of cryptojacking domains that mine cryptocurrency using your device. |
| `idnHomographs` | boolean | No | Enable (true) or disable (false) protection against IDN homograph attacks that use look-alike characters to impersonate domains. |
| `typosquatting` | boolean | No | Enable (true) or disable (false) protection against typosquatting domains that exploit common typing mistakes. |
| `aiThreatDetection` | boolean | No | Enable (true) or disable (false) AI-powered threat detection to identify and block emerging threats. |
| `googleSafeBrowsing` | boolean | No | Enable (true) or disable (false) Google Safe Browsing for malware and phishing protection. |
| `threatIntelligenceFeeds` | boolean | No | Enable (true) or disable (false) real-time threat intelligence feeds to block domains associated with known threats. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Update Settings

**Slug:** `NEXTDNS_UPDATE_SETTINGS`

Tool to update settings for a NextDNS profile including logs, block page, performance, and web3 settings. Use when you need to modify multiple settings categories in one operation. Only provide the specific settings you want to change - all fields are optional except profile ID.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `logs` | object | No | Log configuration settings for query logging and retention. |
| `web3` | boolean | No | Enable (true) or disable (false) Web3 domain resolution (e.g., .eth, .crypto domains via ENS/Unstoppable Domains). |
| `profile` | string | Yes | Unique identifier of the NextDNS profile to update settings for. Get this from list_profiles or list_configurations. |
| `blockPage` | object | No | Block page display settings. |
| `performance` | object | No | Performance optimization settings. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Update Block Page Settings

**Slug:** `NEXTDNS_UPDATE_SETTINGS_BLOCKPAGE`

Tool to update block page settings for a NextDNS profile. Use when you need to enable or disable the branded block page that users see when accessing blocked domains.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `enabled` | boolean | Yes | Enable (true) or disable (false) the block page. When enabled, users see a branded page when accessing blocked domains. When disabled, blocked domains return NXDOMAIN silently. |
| `profile` | string | Yes | The NextDNS profile ID to update block page settings for. Use LIST_PROFILES to get available profile IDs. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |
