> ## Documentation Index
> Fetch the complete documentation index at: https://docs.pinkfish.ai/llms.txt
> Use this file to discover all available pages before exploring further.

# control-d

> Control D DNS

**Server path:** `/control-d` | **Type:** Application | **PCID required:** Yes

## Tools

| Tool                                                                                                                              | Description               |
| --------------------------------------------------------------------------------------------------------------------------------- | ------------------------- |
| [`control_d_delete_access`](#control_d_delete_access)                                                                             | Delete Learned IP         |
| [`control_d_delete_devices_by_device_id`](#control_d_delete_devices_by_device_id)                                                 | Delete Endpoint           |
| [`control_d_delete_profiles_by_profile_id`](#control_d_delete_profiles_by_profile_id)                                             | Profiles - Delete         |
| [`control_d_delete_profiles_by_profile_id_groups_by_folder`](#control_d_delete_profiles_by_profile_id_groups_by_folder)           | Rule Folders - Delete     |
| [`control_d_delete_profiles_by_profile_id_rules_by_hostname`](#control_d_delete_profiles_by_profile_id_rules_by_hostname)         | Custom Rules - Delete     |
| [`control_d_get_access`](#control_d_get_access)                                                                                   | List Known IPs            |
| [`control_d_get_analytics_endpoints`](#control_d_get_analytics_endpoints)                                                         | List Storage Regions      |
| [`control_d_get_analytics_levels`](#control_d_get_analytics_levels)                                                               | List Log Levels           |
| [`control_d_get_billing_payments`](#control_d_get_billing_payments)                                                               | Payments                  |
| [`control_d_get_billing_products`](#control_d_get_billing_products)                                                               | Active Products           |
| [`control_d_get_billing_subscriptions`](#control_d_get_billing_subscriptions)                                                     | Subscriptions             |
| [`control_d_get_devices`](#control_d_get_devices)                                                                                 | List All Endpoints        |
| [`control_d_get_devices_types`](#control_d_get_devices_types)                                                                     | List Endpoint Types       |
| [`control_d_get_ip`](#control_d_get_ip)                                                                                           | Return IP                 |
| [`control_d_get_network`](#control_d_get_network)                                                                                 | Network Stats             |
| [`control_d_get_organizations_members`](#control_d_get_organizations_members)                                                     | View Members              |
| [`control_d_get_organizations_organization`](#control_d_get_organizations_organization)                                           | View Organization Info    |
| [`control_d_get_organizations_sub_organizations`](#control_d_get_organizations_sub_organizations)                                 | View Sub-Organizations    |
| [`control_d_get_profiles`](#control_d_get_profiles)                                                                               | Profiles - List           |
| [`control_d_get_profiles_by_profile_id_default`](#control_d_get_profiles_by_profile_id_default)                                   | Default Rule - List       |
| [`control_d_get_profiles_by_profile_id_filters`](#control_d_get_profiles_by_profile_id_filters)                                   | Filters - List Native     |
| [`control_d_get_profiles_by_profile_id_filters_external`](#control_d_get_profiles_by_profile_id_filters_external)                 | Filters - List 3rd Party  |
| [`control_d_get_profiles_by_profile_id_groups`](#control_d_get_profiles_by_profile_id_groups)                                     | Rule Folders - LIst       |
| [`control_d_get_profiles_by_profile_id_rules_by_folder_id`](#control_d_get_profiles_by_profile_id_rules_by_folder_id)             | Custom Rules - List       |
| [`control_d_get_profiles_by_profile_id_services`](#control_d_get_profiles_by_profile_id_services)                                 | Services - List           |
| [`control_d_get_profiles_options`](#control_d_get_profiles_options)                                                               | Profiles - List Options   |
| [`control_d_get_proxies`](#control_d_get_proxies)                                                                                 | List Proxies              |
| [`control_d_get_services_categories`](#control_d_get_services_categories)                                                         | List Service Categories   |
| [`control_d_get_services_categories_by_category`](#control_d_get_services_categories_by_category)                                 | LIst All Services         |
| [`control_d_get_users`](#control_d_get_users)                                                                                     | User Data                 |
| [`control_d_post_access`](#control_d_post_access)                                                                                 | Learn New IP              |
| [`control_d_post_devices`](#control_d_post_devices)                                                                               | Create Endpoint           |
| [`control_d_post_organizations_suborg`](#control_d_post_organizations_suborg)                                                     | Create Sub-Organization   |
| [`control_d_post_profiles`](#control_d_post_profiles)                                                                             | Profiles - Create         |
| [`control_d_post_profiles_by_profile_id_groups`](#control_d_post_profiles_by_profile_id_groups)                                   | Rule Folders - Create     |
| [`control_d_post_profiles_by_profile_id_rules`](#control_d_post_profiles_by_profile_id_rules)                                     | Custom Rules - Create     |
| [`control_d_put_devices_by_device_id`](#control_d_put_devices_by_device_id)                                                       | Modify Endpoint           |
| [`control_d_put_organizations`](#control_d_put_organizations)                                                                     | Modify Organization       |
| [`control_d_put_profiles_by_profile_id`](#control_d_put_profiles_by_profile_id)                                                   | Profiles - Modify         |
| [`control_d_put_profiles_by_profile_id_default`](#control_d_put_profiles_by_profile_id_default)                                   | Default Rule - Modify     |
| [`control_d_put_profiles_by_profile_id_filters`](#control_d_put_profiles_by_profile_id_filters)                                   | Filters - Batch Modify    |
| [`control_d_put_profiles_by_profile_id_filters_filter_by_filter`](#control_d_put_profiles_by_profile_id_filters_filter_by_filter) | Filters - Modify          |
| [`control_d_put_profiles_by_profile_id_groups_by_folder`](#control_d_put_profiles_by_profile_id_groups_by_folder)                 | Rule Folders - Modify     |
| [`control_d_put_profiles_by_profile_id_options_by_name`](#control_d_put_profiles_by_profile_id_options_by_name)                   | Profiles - Modify Options |
| [`control_d_put_profiles_by_profile_id_rules`](#control_d_put_profiles_by_profile_id_rules)                                       | Custom Rules - Modify     |
| [`control_d_put_profiles_by_profile_id_services_by_service`](#control_d_put_profiles_by_profile_id_services_by_service)           | Services - Modify         |

***

## control\_d\_delete\_access

Delete Learned IP

**Parameters:**

| Parameter   | Type   | Required | Default | Description                |
| ----------- | ------ | -------- | ------- | -------------------------- |
| `device_id` | string | No       | —       | Primary key of the device. |
| `ips[]`     | any\[] | No       | —       | IPv4 or IPv6 addresses     |

<Expandable title="inputSchema">
  ```json theme={null}
  {
    "type": "object",
    "properties": {
      "PCID": {
        "type": "string",
        "description": "Pink Connect ID for the authenticated connection"
      },
      "device_id": {
        "type": "string",
        "description": "Primary key of the device."
      },
      "ips[]": {
        "type": "array",
        "description": "IPv4 or IPv6 addresses"
      }
    },
    "required": [
      "PCID"
    ]
  }
  ```
</Expandable>

***

## control\_d\_delete\_devices\_by\_device\_id

Delete Endpoint

**Parameters:**

| Parameter   | Type   | Required | Default | Description        |
| ----------- | ------ | -------- | ------- | ------------------ |
| `device_id` | string | Yes      | —       | Device/Resolver ID |

<Expandable title="inputSchema">
  ```json theme={null}
  {
    "type": "object",
    "properties": {
      "PCID": {
        "type": "string",
        "description": "Pink Connect ID for the authenticated connection"
      },
      "device_id": {
        "type": "string",
        "description": "Device/Resolver ID"
      }
    },
    "required": [
      "PCID",
      "device_id"
    ]
  }
  ```
</Expandable>

***

## control\_d\_delete\_profiles\_by\_profile\_id

Profiles - Delete

**Parameters:**

| Parameter    | Type   | Required | Default | Description                     |
| ------------ | ------ | -------- | ------- | ------------------------------- |
| `profile_id` | string | Yes      | —       | Primary key (PK) of the profile |

<Expandable title="inputSchema">
  ```json theme={null}
  {
    "type": "object",
    "properties": {
      "PCID": {
        "type": "string",
        "description": "Pink Connect ID for the authenticated connection"
      },
      "profile_id": {
        "type": "string",
        "description": "Primary key (PK) of the profile"
      }
    },
    "required": [
      "PCID",
      "profile_id"
    ]
  }
  ```
</Expandable>

***

## control\_d\_delete\_profiles\_by\_profile\_id\_groups\_by\_folder

Rule Folders - Delete

**Parameters:**

| Parameter    | Type   | Required | Default | Description                                                                      |
| ------------ | ------ | -------- | ------- | -------------------------------------------------------------------------------- |
| `profile_id` | string | Yes      | —       | Primary key (PK) of the profile                                                  |
| `folder`     | string | Yes      | —       | Folder ID                                                                        |
| `do`         | string | No       | —       | (Optional) Add a rule type to a folder. All rules inside will inherit rule type. |
| `name`       | string | No       | —       | (Optional) Rename the folder.                                                    |
| `status`     | string | No       | —       | Status of the folder and all rules inside.                                       |
| `via`        | string | No       | —       | (Optional) Add spoof IP or hostname, or proxy identiifer if do=2 or do=3.        |

<Expandable title="inputSchema">
  ```json theme={null}
  {
    "type": "object",
    "properties": {
      "PCID": {
        "type": "string",
        "description": "Pink Connect ID for the authenticated connection"
      },
      "profile_id": {
        "type": "string",
        "description": "Primary key (PK) of the profile"
      },
      "folder": {
        "type": "string",
        "description": "Folder ID"
      },
      "do": {
        "type": "string",
        "description": "(Optional) Add a rule type to a folder. All rules inside will inherit rule type."
      },
      "name": {
        "type": "string",
        "description": "(Optional) Rename the folder."
      },
      "status": {
        "type": "string",
        "description": "Status of the folder and all rules inside."
      },
      "via": {
        "type": "string",
        "description": "(Optional) Add spoof IP or hostname, or proxy identiifer if do=2 or do=3."
      }
    },
    "required": [
      "PCID",
      "profile_id",
      "folder"
    ]
  }
  ```
</Expandable>

***

## control\_d\_delete\_profiles\_by\_profile\_id\_rules\_by\_hostname

Custom Rules - Delete

**Parameters:**

| Parameter    | Type   | Required | Default | Description                     |
| ------------ | ------ | -------- | ------- | ------------------------------- |
| `profile_id` | string | Yes      | —       | Primary key (PK) of the profile |
| `hostname`   | string | Yes      | —       | Hostname to delete              |

<Expandable title="inputSchema">
  ```json theme={null}
  {
    "type": "object",
    "properties": {
      "PCID": {
        "type": "string",
        "description": "Pink Connect ID for the authenticated connection"
      },
      "profile_id": {
        "type": "string",
        "description": "Primary key (PK) of the profile"
      },
      "hostname": {
        "type": "string",
        "description": "Hostname to delete"
      }
    },
    "required": [
      "PCID",
      "profile_id",
      "hostname"
    ]
  }
  ```
</Expandable>

***

## control\_d\_get\_access

List Known IPs

**Parameters:**

| Parameter   | Type   | Required | Default | Description                           |
| ----------- | ------ | -------- | ------- | ------------------------------------- |
| `device_id` | string | Yes      | —       | (Required) Primary key of the device. |

<Expandable title="inputSchema">
  ```json theme={null}
  {
    "type": "object",
    "properties": {
      "PCID": {
        "type": "string",
        "description": "Pink Connect ID for the authenticated connection"
      },
      "device_id": {
        "type": "string",
        "description": "(Required) Primary key of the device."
      }
    },
    "required": [
      "PCID",
      "device_id"
    ]
  }
  ```
</Expandable>

***

## control\_d\_get\_analytics\_endpoints

List Storage Regions

<Expandable title="inputSchema">
  ```json theme={null}
  {
    "type": "object",
    "properties": {
      "PCID": {
        "type": "string",
        "description": "Pink Connect ID for the authenticated connection"
      }
    },
    "required": [
      "PCID"
    ]
  }
  ```
</Expandable>

***

## control\_d\_get\_analytics\_levels

List Log Levels

<Expandable title="inputSchema">
  ```json theme={null}
  {
    "type": "object",
    "properties": {
      "PCID": {
        "type": "string",
        "description": "Pink Connect ID for the authenticated connection"
      }
    },
    "required": [
      "PCID"
    ]
  }
  ```
</Expandable>

***

## control\_d\_get\_billing\_payments

Payments

<Expandable title="inputSchema">
  ```json theme={null}
  {
    "type": "object",
    "properties": {
      "PCID": {
        "type": "string",
        "description": "Pink Connect ID for the authenticated connection"
      }
    },
    "required": [
      "PCID"
    ]
  }
  ```
</Expandable>

***

## control\_d\_get\_billing\_products

Active Products

<Expandable title="inputSchema">
  ```json theme={null}
  {
    "type": "object",
    "properties": {
      "PCID": {
        "type": "string",
        "description": "Pink Connect ID for the authenticated connection"
      }
    },
    "required": [
      "PCID"
    ]
  }
  ```
</Expandable>

***

## control\_d\_get\_billing\_subscriptions

Subscriptions

<Expandable title="inputSchema">
  ```json theme={null}
  {
    "type": "object",
    "properties": {
      "PCID": {
        "type": "string",
        "description": "Pink Connect ID for the authenticated connection"
      }
    },
    "required": [
      "PCID"
    ]
  }
  ```
</Expandable>

***

## control\_d\_get\_devices

List All Endpoints

<Expandable title="inputSchema">
  ```json theme={null}
  {
    "type": "object",
    "properties": {
      "PCID": {
        "type": "string",
        "description": "Pink Connect ID for the authenticated connection"
      }
    },
    "required": [
      "PCID"
    ]
  }
  ```
</Expandable>

***

## control\_d\_get\_devices\_types

List Endpoint Types

<Expandable title="inputSchema">
  ```json theme={null}
  {
    "type": "object",
    "properties": {
      "PCID": {
        "type": "string",
        "description": "Pink Connect ID for the authenticated connection"
      }
    },
    "required": [
      "PCID"
    ]
  }
  ```
</Expandable>

***

## control\_d\_get\_ip

Return IP

<Expandable title="inputSchema">
  ```json theme={null}
  {
    "type": "object",
    "properties": {
      "PCID": {
        "type": "string",
        "description": "Pink Connect ID for the authenticated connection"
      }
    },
    "required": [
      "PCID"
    ]
  }
  ```
</Expandable>

***

## control\_d\_get\_network

Network Stats

<Expandable title="inputSchema">
  ```json theme={null}
  {
    "type": "object",
    "properties": {
      "PCID": {
        "type": "string",
        "description": "Pink Connect ID for the authenticated connection"
      }
    },
    "required": [
      "PCID"
    ]
  }
  ```
</Expandable>

***

## control\_d\_get\_organizations\_members

View Members

<Expandable title="inputSchema">
  ```json theme={null}
  {
    "type": "object",
    "properties": {
      "PCID": {
        "type": "string",
        "description": "Pink Connect ID for the authenticated connection"
      }
    },
    "required": [
      "PCID"
    ]
  }
  ```
</Expandable>

***

## control\_d\_get\_organizations\_organization

View Organization Info

<Expandable title="inputSchema">
  ```json theme={null}
  {
    "type": "object",
    "properties": {
      "PCID": {
        "type": "string",
        "description": "Pink Connect ID for the authenticated connection"
      }
    },
    "required": [
      "PCID"
    ]
  }
  ```
</Expandable>

***

## control\_d\_get\_organizations\_sub\_organizations

View Sub-Organizations

<Expandable title="inputSchema">
  ```json theme={null}
  {
    "type": "object",
    "properties": {
      "PCID": {
        "type": "string",
        "description": "Pink Connect ID for the authenticated connection"
      }
    },
    "required": [
      "PCID"
    ]
  }
  ```
</Expandable>

***

## control\_d\_get\_profiles

Profiles - List

<Expandable title="inputSchema">
  ```json theme={null}
  {
    "type": "object",
    "properties": {
      "PCID": {
        "type": "string",
        "description": "Pink Connect ID for the authenticated connection"
      }
    },
    "required": [
      "PCID"
    ]
  }
  ```
</Expandable>

***

## control\_d\_get\_profiles\_by\_profile\_id\_default

Default Rule - List

**Parameters:**

| Parameter    | Type   | Required | Default | Description                     |
| ------------ | ------ | -------- | ------- | ------------------------------- |
| `profile_id` | string | Yes      | —       | Primary key (PK) of the profile |

<Expandable title="inputSchema">
  ```json theme={null}
  {
    "type": "object",
    "properties": {
      "PCID": {
        "type": "string",
        "description": "Pink Connect ID for the authenticated connection"
      },
      "profile_id": {
        "type": "string",
        "description": "Primary key (PK) of the profile"
      }
    },
    "required": [
      "PCID",
      "profile_id"
    ]
  }
  ```
</Expandable>

***

## control\_d\_get\_profiles\_by\_profile\_id\_filters

Filters - List Native

**Parameters:**

| Parameter    | Type   | Required | Default | Description                     |
| ------------ | ------ | -------- | ------- | ------------------------------- |
| `profile_id` | string | Yes      | —       | Primary key (PK) of the profile |

<Expandable title="inputSchema">
  ```json theme={null}
  {
    "type": "object",
    "properties": {
      "PCID": {
        "type": "string",
        "description": "Pink Connect ID for the authenticated connection"
      },
      "profile_id": {
        "type": "string",
        "description": "Primary key (PK) of the profile"
      }
    },
    "required": [
      "PCID",
      "profile_id"
    ]
  }
  ```
</Expandable>

***

## control\_d\_get\_profiles\_by\_profile\_id\_filters\_external

Filters - List 3rd Party

**Parameters:**

| Parameter    | Type   | Required | Default | Description                     |
| ------------ | ------ | -------- | ------- | ------------------------------- |
| `profile_id` | string | Yes      | —       | Primary key (PK) of the profile |

<Expandable title="inputSchema">
  ```json theme={null}
  {
    "type": "object",
    "properties": {
      "PCID": {
        "type": "string",
        "description": "Pink Connect ID for the authenticated connection"
      },
      "profile_id": {
        "type": "string",
        "description": "Primary key (PK) of the profile"
      }
    },
    "required": [
      "PCID",
      "profile_id"
    ]
  }
  ```
</Expandable>

***

## control\_d\_get\_profiles\_by\_profile\_id\_groups

Rule Folders - LIst

**Parameters:**

| Parameter    | Type   | Required | Default | Description                     |
| ------------ | ------ | -------- | ------- | ------------------------------- |
| `profile_id` | string | Yes      | —       | Primary key (PK) of the profile |

<Expandable title="inputSchema">
  ```json theme={null}
  {
    "type": "object",
    "properties": {
      "PCID": {
        "type": "string",
        "description": "Pink Connect ID for the authenticated connection"
      },
      "profile_id": {
        "type": "string",
        "description": "Primary key (PK) of the profile"
      }
    },
    "required": [
      "PCID",
      "profile_id"
    ]
  }
  ```
</Expandable>

***

## control\_d\_get\_profiles\_by\_profile\_id\_rules\_by\_folder\_id

Custom Rules - List

**Parameters:**

| Parameter    | Type   | Required | Default | Description                     |
| ------------ | ------ | -------- | ------- | ------------------------------- |
| `profile_id` | string | Yes      | —       | Primary key (PK) of the profile |
| `folder_id`  | string | Yes      | —       | Folder ID (0 or omit for root)  |

<Expandable title="inputSchema">
  ```json theme={null}
  {
    "type": "object",
    "properties": {
      "PCID": {
        "type": "string",
        "description": "Pink Connect ID for the authenticated connection"
      },
      "profile_id": {
        "type": "string",
        "description": "Primary key (PK) of the profile"
      },
      "folder_id": {
        "type": "string",
        "description": "Folder ID (0 or omit for root)"
      }
    },
    "required": [
      "PCID",
      "profile_id",
      "folder_id"
    ]
  }
  ```
</Expandable>

***

## control\_d\_get\_profiles\_by\_profile\_id\_services

Services - List

**Parameters:**

| Parameter    | Type   | Required | Default | Description                     |
| ------------ | ------ | -------- | ------- | ------------------------------- |
| `profile_id` | string | Yes      | —       | Primary key (PK) of the profile |

<Expandable title="inputSchema">
  ```json theme={null}
  {
    "type": "object",
    "properties": {
      "PCID": {
        "type": "string",
        "description": "Pink Connect ID for the authenticated connection"
      },
      "profile_id": {
        "type": "string",
        "description": "Primary key (PK) of the profile"
      }
    },
    "required": [
      "PCID",
      "profile_id"
    ]
  }
  ```
</Expandable>

***

## control\_d\_get\_profiles\_options

Profiles - List Options

<Expandable title="inputSchema">
  ```json theme={null}
  {
    "type": "object",
    "properties": {
      "PCID": {
        "type": "string",
        "description": "Pink Connect ID for the authenticated connection"
      }
    },
    "required": [
      "PCID"
    ]
  }
  ```
</Expandable>

***

## control\_d\_get\_proxies

List Proxies

<Expandable title="inputSchema">
  ```json theme={null}
  {
    "type": "object",
    "properties": {
      "PCID": {
        "type": "string",
        "description": "Pink Connect ID for the authenticated connection"
      }
    },
    "required": [
      "PCID"
    ]
  }
  ```
</Expandable>

***

## control\_d\_get\_services\_categories

List Service Categories

<Expandable title="inputSchema">
  ```json theme={null}
  {
    "type": "object",
    "properties": {
      "PCID": {
        "type": "string",
        "description": "Pink Connect ID for the authenticated connection"
      }
    },
    "required": [
      "PCID"
    ]
  }
  ```
</Expandable>

***

## control\_d\_get\_services\_categories\_by\_category

LIst All Services

**Parameters:**

| Parameter  | Type   | Required | Default | Description   |
| ---------- | ------ | -------- | ------- | ------------- |
| `category` | string | Yes      | —       | Category name |

<Expandable title="inputSchema">
  ```json theme={null}
  {
    "type": "object",
    "properties": {
      "PCID": {
        "type": "string",
        "description": "Pink Connect ID for the authenticated connection"
      },
      "category": {
        "type": "string",
        "description": "Category name"
      }
    },
    "required": [
      "PCID",
      "category"
    ]
  }
  ```
</Expandable>

***

## control\_d\_get\_users

User Data

<Expandable title="inputSchema">
  ```json theme={null}
  {
    "type": "object",
    "properties": {
      "PCID": {
        "type": "string",
        "description": "Pink Connect ID for the authenticated connection"
      }
    },
    "required": [
      "PCID"
    ]
  }
  ```
</Expandable>

***

## control\_d\_post\_access

Learn New IP

**Parameters:**

| Parameter   | Type   | Required | Default | Description                |
| ----------- | ------ | -------- | ------- | -------------------------- |
| `device_id` | string | Yes      | —       | Primary key of the device. |
| `ips[]`     | any\[] | Yes      | —       | IPv4 or IPv6 addresses     |

<Expandable title="inputSchema">
  ```json theme={null}
  {
    "type": "object",
    "properties": {
      "PCID": {
        "type": "string",
        "description": "Pink Connect ID for the authenticated connection"
      },
      "device_id": {
        "type": "string",
        "description": "Primary key of the device."
      },
      "ips[]": {
        "type": "array",
        "description": "IPv4 or IPv6 addresses"
      }
    },
    "required": [
      "PCID",
      "device_id",
      "ips[]"
    ]
  }
  ```
</Expandable>

***

## control\_d\_post\_devices

Create Endpoint

**Parameters:**

| Parameter            | Type    | Required | Default | Description                                                                                  |
| -------------------- | ------- | -------- | ------- | -------------------------------------------------------------------------------------------- |
| `client_count`       | string  | Yes      | —       | Number of devices using this Endpoint                                                        |
| `ddns_ext_host`      | string  | No       | —       | DDNS hostname to query to learn new IPs                                                      |
| `ddns_ext_status`    | integer | No       | —       | Status of DDNS based IP learning                                                             |
| `ddns_status`        | integer | No       | —       | Status of DDNS endpoint that exposes last used IP.                                           |
| `ddns_subdomain`     | string  | No       | —       | DDNS subdomain to expose the IP on                                                           |
| `desc`               | string  | No       | —       | Add a description or comment to the device                                                   |
| `icon`               | string  | Yes      | —       | Device icon/type                                                                             |
| `learn_ip`           | integer | No       | —       | Enable or disable automatic IP learning and logging. 0 to disable, 1 to enable.              |
| `legacy_ipv4_status` | integer | No       | —       | Set this to 1 to generate a legacy IPv4 (and IPv6) DNS resolver.                             |
| `name`               | string  | Yes      | —       | Device name                                                                                  |
| `profile_id`         | string  | Yes      | —       | Primary key of main profile to enforce on this device                                        |
| `profile_id2`        | string  | No       | —       | Primary key of a second profile to enforce                                                   |
| `remap_client_id`    | string  | No       | —       | Remap source device + client ID to a new device                                              |
| `remap_device_id`    | string  | No       | —       | Remap source device + client ID to a new device                                              |
| `restricted`         | integer | No       | —       | Make this device restricted, only previously authorized IPs will be able to query against it |
| `stats`              | integer | No       | —       | Set analytics level on device. 0 = off, 1 = basic, 2 = full                                  |

<Expandable title="inputSchema">
  ```json theme={null}
  {
    "type": "object",
    "properties": {
      "PCID": {
        "type": "string",
        "description": "Pink Connect ID for the authenticated connection"
      },
      "client_count": {
        "type": "string",
        "description": "Number of devices using this Endpoint"
      },
      "ddns_ext_host": {
        "type": "string",
        "description": "DDNS hostname to query to learn new IPs"
      },
      "ddns_ext_status": {
        "type": "integer",
        "description": "Status of DDNS based IP learning"
      },
      "ddns_status": {
        "type": "integer",
        "description": "Status of DDNS endpoint that exposes last used IP."
      },
      "ddns_subdomain": {
        "type": "string",
        "description": "DDNS subdomain to expose the IP on"
      },
      "desc": {
        "type": "string",
        "description": "Add a description or comment to the device"
      },
      "icon": {
        "type": "string",
        "description": "Device icon/type"
      },
      "learn_ip": {
        "type": "integer",
        "description": "Enable or disable automatic IP learning and logging. 0 to disable, 1 to enable."
      },
      "legacy_ipv4_status": {
        "type": "integer",
        "description": "Set this to 1 to generate a legacy IPv4 (and IPv6) DNS resolver."
      },
      "name": {
        "type": "string",
        "description": "Device name"
      },
      "profile_id": {
        "type": "string",
        "description": "Primary key of main profile to enforce on this device"
      },
      "profile_id2": {
        "type": "string",
        "description": "Primary key of a second profile to enforce"
      },
      "remap_client_id": {
        "type": "string",
        "description": "Remap source device + client ID to a new device"
      },
      "remap_device_id": {
        "type": "string",
        "description": "Remap source device + client ID to a new device"
      },
      "restricted": {
        "type": "integer",
        "description": "Make this device restricted, only previously authorized IPs will be able to query against it"
      },
      "stats": {
        "type": "integer",
        "description": "Set analytics level on device. 0 = off, 1 = basic, 2 = full"
      }
    },
    "required": [
      "PCID",
      "client_count",
      "icon",
      "name",
      "profile_id"
    ]
  }
  ```
</Expandable>

***

## control\_d\_post\_organizations\_suborg

Create Sub-Organization

**Parameters:**

| Parameter        | Type    | Required | Default | Description                                                                    |
| ---------------- | ------- | -------- | ------- | ------------------------------------------------------------------------------ |
| `address`        | string  | No       | —       | (Optional) Physical address of this organization                               |
| `contact_email`  | string  | Yes      | —       | (Required) Primary contact for this sub-organization                           |
| `contact_name`   | string  | No       | —       | (Optional) Contact name for the person responsible for this organization       |
| `contact_phone`  | string  | No       | —       | (Optional) Phone number associated with this organization                      |
| `name`           | string  | Yes      | —       | (Required) Organization name                                                   |
| `parent_profile` | string  | No       | —       | (Optional) Global Profile ID (PK) to enforce on all created Devices            |
| `stats_endpoint` | string  | Yes      | —       | (Required) Primary key of desired storage region. See GET /analytics/endpoints |
| `twofa_req`      | integer | Yes      | —       | (Required) Is 2FA/MFA required for memberts of this org. 0 = no, 1 = yes       |
| `website`        | string  | No       | —       | (Optional) Website URL of this organization                                    |

<Expandable title="inputSchema">
  ```json theme={null}
  {
    "type": "object",
    "properties": {
      "PCID": {
        "type": "string",
        "description": "Pink Connect ID for the authenticated connection"
      },
      "address": {
        "type": "string",
        "description": "(Optional) Physical address of this organization"
      },
      "contact_email": {
        "type": "string",
        "description": "(Required) Primary contact for this sub-organization"
      },
      "contact_name": {
        "type": "string",
        "description": "(Optional) Contact name for the person responsible for this organization"
      },
      "contact_phone": {
        "type": "string",
        "description": "(Optional) Phone number associated with this organization"
      },
      "name": {
        "type": "string",
        "description": "(Required) Organization name"
      },
      "parent_profile": {
        "type": "string",
        "description": "(Optional) Global Profile ID (PK) to enforce on all created Devices"
      },
      "stats_endpoint": {
        "type": "string",
        "description": "(Required) Primary key of desired storage region. See GET /analytics/endpoints"
      },
      "twofa_req": {
        "type": "integer",
        "description": "(Required) Is 2FA/MFA required for memberts of this org. 0 = no, 1 = yes"
      },
      "website": {
        "type": "string",
        "description": "(Optional) Website URL of this organization"
      }
    },
    "required": [
      "PCID",
      "contact_email",
      "name",
      "stats_endpoint",
      "twofa_req"
    ]
  }
  ```
</Expandable>

***

## control\_d\_post\_profiles

Profiles - Create

**Parameters:**

| Parameter          | Type   | Required | Default | Description                                                              |
| ------------------ | ------ | -------- | ------- | ------------------------------------------------------------------------ |
| `clone_profile_id` | string | No       | —       | Primary key of profile to clone. If ommited, a blank profile is created. |
| `name`             | string | Yes      | —       | Name of the new profile                                                  |

<Expandable title="inputSchema">
  ```json theme={null}
  {
    "type": "object",
    "properties": {
      "PCID": {
        "type": "string",
        "description": "Pink Connect ID for the authenticated connection"
      },
      "clone_profile_id": {
        "type": "string",
        "description": "Primary key of profile to clone. If ommited, a blank profile is created."
      },
      "name": {
        "type": "string",
        "description": "Name of the new profile"
      }
    },
    "required": [
      "PCID",
      "name"
    ]
  }
  ```
</Expandable>

***

## control\_d\_post\_profiles\_by\_profile\_id\_groups

Rule Folders - Create

**Parameters:**

| Parameter    | Type    | Required | Default | Description                                                                                                          |
| ------------ | ------- | -------- | ------- | -------------------------------------------------------------------------------------------------------------------- |
| `profile_id` | string  | Yes      | —       | Primary key (PK) of the profile                                                                                      |
| `do`         | integer | Yes      | —       | Add a rule type to a folder. All rules inside will inherit rule type. 0 = BLOCK. 1 = BYPASS, 2 = SPOOF, 3 = REDIRECT |
| `name`       | string  | Yes      | —       | Name of your folder                                                                                                  |
| `status`     | integer | Yes      | —       | Status of the folder and all rules inside                                                                            |
| `via`        | string  | No       | —       | Add spoof IP or hostname, or proxy identiifer if do=2 or do=3.                                                       |

<Expandable title="inputSchema">
  ```json theme={null}
  {
    "type": "object",
    "properties": {
      "PCID": {
        "type": "string",
        "description": "Pink Connect ID for the authenticated connection"
      },
      "profile_id": {
        "type": "string",
        "description": "Primary key (PK) of the profile"
      },
      "do": {
        "type": "integer",
        "description": "Add a rule type to a folder. All rules inside will inherit rule type. 0 = BLOCK. 1 = BYPASS, 2 = SPOOF, 3 = REDIRECT"
      },
      "name": {
        "type": "string",
        "description": "Name of your folder"
      },
      "status": {
        "type": "integer",
        "description": "Status of the folder and all rules inside"
      },
      "via": {
        "type": "string",
        "description": "Add spoof IP or hostname, or proxy identiifer if do=2 or do=3."
      }
    },
    "required": [
      "PCID",
      "profile_id",
      "do",
      "name",
      "status"
    ]
  }
  ```
</Expandable>

***

## control\_d\_post\_profiles\_by\_profile\_id\_rules

Custom Rules - Create

**Parameters:**

| Parameter     | Type    | Required | Default | Description                                                                                                                              |
| ------------- | ------- | -------- | ------- | ---------------------------------------------------------------------------------------------------------------------------------------- |
| `profile_id`  | string  | Yes      | —       | Primary key (PK) of the profile                                                                                                          |
| `do`          | integer | Yes      | —       | Rule type. 0 = BLOCK. 1 = BYPASS, 2 = SPOOF, 3 = REDIRECT. \<\<glossary:Do>>                                                             |
| `group`       | integer | No       | —       | Optional ID of the folder to create this rule in, root folder if ommited                                                                 |
| `hostnames[]` | any\[]  | Yes      | —       | Array of hostnames                                                                                                                       |
| `status`      | integer | Yes      | —       | Status of the rule                                                                                                                       |
| `via`         | string  | No       | —       | Spoof/Redirect target. If SPOOF, this can be an IPv4 or hostname. If REDIRECT, this must be a valid proxy identifier. \<\<glossary:Via>> |
| `via_v6`      | string  | No       | —       | If SPOOF this can be a valid IPv6 address (AAAA record)                                                                                  |

<Expandable title="inputSchema">
  ```json theme={null}
  {
    "type": "object",
    "properties": {
      "PCID": {
        "type": "string",
        "description": "Pink Connect ID for the authenticated connection"
      },
      "profile_id": {
        "type": "string",
        "description": "Primary key (PK) of the profile"
      },
      "do": {
        "type": "integer",
        "description": "Rule type. 0 = BLOCK. 1 = BYPASS, 2 = SPOOF, 3 = REDIRECT. <<glossary:Do>>"
      },
      "group": {
        "type": "integer",
        "description": "Optional ID of the folder to create this rule in, root folder if ommited"
      },
      "hostnames[]": {
        "type": "array",
        "description": "Array of hostnames"
      },
      "status": {
        "type": "integer",
        "description": "Status of the rule"
      },
      "via": {
        "type": "string",
        "description": "Spoof/Redirect target. If SPOOF, this can be an IPv4 or hostname. If REDIRECT, this must be a valid proxy identifier. <<glossary:Via>>"
      },
      "via_v6": {
        "type": "string",
        "description": "If SPOOF this can be a valid IPv6 address (AAAA record)"
      }
    },
    "required": [
      "PCID",
      "profile_id",
      "do",
      "hostnames[]",
      "status"
    ]
  }
  ```
</Expandable>

***

## control\_d\_put\_devices\_by\_device\_id

Modify Endpoint

**Parameters:**

| Parameter             | Type    | Required | Default | Description                                                                                |
| --------------------- | ------- | -------- | ------- | ------------------------------------------------------------------------------------------ |
| `device_id`           | string  | Yes      | —       | Device/Resolver ID                                                                         |
| `bump_tls`            | integer | No       | —       | Enable or disable experimental ECH support and TLS bumping                                 |
| `client_count`        | string  | No       | —       | Number of devices using this Endpoint                                                      |
| `ctrld_custom_config` | string  | No       | —       | ctrld .toml config file to deploy                                                          |
| `ddns_ext_host`       | string  | No       | —       | DDNS hostname to query to learn new IPs                                                    |
| `ddns_ext_status`     | integer | No       | —       | Status of DDNS based IP learning. 0 to disable, 1 to enable.                               |
| `ddns_status`         | integer | No       | —       | Status of public DDNS endpoint. 1 = enabled, 0 = disable.                                  |
| `ddns_subdomain`      | string  | No       | —       | DDNS subdomain to expose the IP on                                                         |
| `desc`                | string  | No       | —       | Add a description or comment to the device                                                 |
| `learn_ip`            | integer | No       | —       | Enable or disable automatic IP learning and logging. 0 to disable, 1 to enable.            |
| `legacy_ipv4_status`  | integer | No       | —       | Set this to 1 to generate a legacy IPv4 (and IPv6) DNS resolver, 0 to remove existing one. |
| `name`                | string  | No       | —       | New Device name                                                                            |
| `profile_id`          | string  | No       | —       | Primary key of main profile to enforce on this device                                      |
| `profile_id2`         | string  | No       | —       | Primary key of a second profile to enforce -1 to remove.                                   |
| `restricted`          | integer | No       | —       | Make this device restricted. 0 to disable, 1 to enable.                                    |
| `stats`               | integer | No       | —       | Set analytics level on device. 0 = off, 1 = basic, 2 = full                                |
| `status`              | integer | No       | —       | Update device status. 0 - pending, 1 - active, 2 - soft disabled, 3 - hard disabled        |

<Expandable title="inputSchema">
  ```json theme={null}
  {
    "type": "object",
    "properties": {
      "PCID": {
        "type": "string",
        "description": "Pink Connect ID for the authenticated connection"
      },
      "device_id": {
        "type": "string",
        "description": "Device/Resolver ID"
      },
      "bump_tls": {
        "type": "integer",
        "description": "Enable or disable experimental ECH support and TLS bumping"
      },
      "client_count": {
        "type": "string",
        "description": "Number of devices using this Endpoint"
      },
      "ctrld_custom_config": {
        "type": "string",
        "description": "ctrld .toml config file to deploy"
      },
      "ddns_ext_host": {
        "type": "string",
        "description": "DDNS hostname to query to learn new IPs"
      },
      "ddns_ext_status": {
        "type": "integer",
        "description": "Status of DDNS based IP learning. 0 to disable, 1 to enable."
      },
      "ddns_status": {
        "type": "integer",
        "description": "Status of public DDNS endpoint. 1 = enabled, 0 = disable."
      },
      "ddns_subdomain": {
        "type": "string",
        "description": "DDNS subdomain to expose the IP on"
      },
      "desc": {
        "type": "string",
        "description": "Add a description or comment to the device"
      },
      "learn_ip": {
        "type": "integer",
        "description": "Enable or disable automatic IP learning and logging. 0 to disable, 1 to enable."
      },
      "legacy_ipv4_status": {
        "type": "integer",
        "description": "Set this to 1 to generate a legacy IPv4 (and IPv6) DNS resolver, 0 to remove existing one."
      },
      "name": {
        "type": "string",
        "description": "New Device name"
      },
      "profile_id": {
        "type": "string",
        "description": "Primary key of main profile to enforce on this device"
      },
      "profile_id2": {
        "type": "string",
        "description": "Primary key of a second profile to enforce -1 to remove."
      },
      "restricted": {
        "type": "integer",
        "description": "Make this device restricted. 0 to disable, 1 to enable."
      },
      "stats": {
        "type": "integer",
        "description": "Set analytics level on device. 0 = off, 1 = basic, 2 = full"
      },
      "status": {
        "type": "integer",
        "description": "Update device status. 0 - pending, 1 - active, 2 - soft disabled, 3 - hard disabled"
      }
    },
    "required": [
      "PCID",
      "device_id"
    ]
  }
  ```
</Expandable>

***

## control\_d\_put\_organizations

Modify Organization

**Parameters:**

| Parameter        | Type    | Required | Default | Description                                                         |
| ---------------- | ------- | -------- | ------- | ------------------------------------------------------------------- |
| `address`        | string  | No       | —       | Physical address of this organization                               |
| `contact_email`  | string  | No       | —       | Primary contact for this sub-organization                           |
| `contact_name`   | string  | No       | —       | Contact name for the person responsible for this organization       |
| `contact_phone`  | string  | No       | —       | Phone number associated with this organization                      |
| `name`           | string  | No       | —       | Organization name                                                   |
| `parent_profile` | string  | No       | —       | Global Profile ID (PK) to enforce on all created Devices            |
| `stats_endpoint` | string  | No       | —       | Primary key of desired storage region. See GET /analytics/endpoints |
| `twofa_req`      | integer | No       | —       | Is 2FA/MFA required for memberts of this org. 0 = no, 1 = yes       |
| `website`        | string  | No       | —       | Website URL of this organization                                    |

<Expandable title="inputSchema">
  ```json theme={null}
  {
    "type": "object",
    "properties": {
      "PCID": {
        "type": "string",
        "description": "Pink Connect ID for the authenticated connection"
      },
      "address": {
        "type": "string",
        "description": "Physical address of this organization"
      },
      "contact_email": {
        "type": "string",
        "description": "Primary contact for this sub-organization"
      },
      "contact_name": {
        "type": "string",
        "description": "Contact name for the person responsible for this organization"
      },
      "contact_phone": {
        "type": "string",
        "description": "Phone number associated with this organization"
      },
      "name": {
        "type": "string",
        "description": "Organization name"
      },
      "parent_profile": {
        "type": "string",
        "description": "Global Profile ID (PK) to enforce on all created Devices"
      },
      "stats_endpoint": {
        "type": "string",
        "description": "Primary key of desired storage region. See GET /analytics/endpoints"
      },
      "twofa_req": {
        "type": "integer",
        "description": "Is 2FA/MFA required for memberts of this org. 0 = no, 1 = yes"
      },
      "website": {
        "type": "string",
        "description": "Website URL of this organization"
      }
    },
    "required": [
      "PCID"
    ]
  }
  ```
</Expandable>

***

## control\_d\_put\_profiles\_by\_profile\_id

Profiles - Modify

**Parameters:**

| Parameter      | Type    | Required | Default | Description                                                                             |
| -------------- | ------- | -------- | ------- | --------------------------------------------------------------------------------------- |
| `profile_id`   | string  | Yes      | —       | Primary key (PK) of the profile                                                         |
| `disable_ttl`  | integer | No       | —       | Disable profile until specified unix timestamp. ttl = 0 disables previous deactivation. |
| `lock_message` | string  | No       | —       | Optional message to error our with when locked profile is modified                      |
| `lock_status`  | integer | No       | —       | Lock/unlock a profile from being edited.                                                |
| `name`         | string  | No       | —       | Rename profile to this name                                                             |
| `password`     | string  | No       | —       | Account password when unlocking a profile                                               |

<Expandable title="inputSchema">
  ```json theme={null}
  {
    "type": "object",
    "properties": {
      "PCID": {
        "type": "string",
        "description": "Pink Connect ID for the authenticated connection"
      },
      "profile_id": {
        "type": "string",
        "description": "Primary key (PK) of the profile"
      },
      "disable_ttl": {
        "type": "integer",
        "description": "Disable profile until specified unix timestamp. ttl = 0 disables previous deactivation."
      },
      "lock_message": {
        "type": "string",
        "description": "Optional message to error our with when locked profile is modified"
      },
      "lock_status": {
        "type": "integer",
        "description": "Lock/unlock a profile from being edited."
      },
      "name": {
        "type": "string",
        "description": "Rename profile to this name"
      },
      "password": {
        "type": "string",
        "description": "Account password when unlocking a profile"
      }
    },
    "required": [
      "PCID",
      "profile_id"
    ]
  }
  ```
</Expandable>

***

## control\_d\_put\_profiles\_by\_profile\_id\_default

Default Rule - Modify

**Parameters:**

| Parameter    | Type    | Required | Default | Description                                                                                                         |
| ------------ | ------- | -------- | ------- | ------------------------------------------------------------------------------------------------------------------- |
| `profile_id` | string  | Yes      | —       | Primary key (PK) of the profile                                                                                     |
| `do`         | integer | No       | —       | Rule type. 0 = BLOCK. 1 = BYPASS, 2 = SPOOF, 3 = REDIRECT                                                           |
| `status`     | integer | No       | —       | Status of the rule.                                                                                                 |
| `via`        | string  | No       | —       | Spoof/Redirect target. If SPOOF, this can be an IP or hostname. If REDIRECT, this must be a valid proxy identifier. |

<Expandable title="inputSchema">
  ```json theme={null}
  {
    "type": "object",
    "properties": {
      "PCID": {
        "type": "string",
        "description": "Pink Connect ID for the authenticated connection"
      },
      "profile_id": {
        "type": "string",
        "description": "Primary key (PK) of the profile"
      },
      "do": {
        "type": "integer",
        "description": "Rule type. 0 = BLOCK. 1 = BYPASS, 2 = SPOOF, 3 = REDIRECT"
      },
      "status": {
        "type": "integer",
        "description": "Status of the rule."
      },
      "via": {
        "type": "string",
        "description": "Spoof/Redirect target. If SPOOF, this can be an IP or hostname. If REDIRECT, this must be a valid proxy identifier."
      }
    },
    "required": [
      "PCID",
      "profile_id"
    ]
  }
  ```
</Expandable>

***

## control\_d\_put\_profiles\_by\_profile\_id\_filters

Filters - Batch Modify

**Parameters:**

| Parameter    | Type      | Required | Default | Description                     |
| ------------ | --------- | -------- | ------- | ------------------------------- |
| `profile_id` | string    | Yes      | —       | Primary key (PK) of the profile |
| `filters`    | object\[] | No       | —       | The filters value               |

<Expandable title="inputSchema">
  ```json theme={null}
  {
    "type": "object",
    "properties": {
      "PCID": {
        "type": "string",
        "description": "Pink Connect ID for the authenticated connection"
      },
      "profile_id": {
        "type": "string",
        "description": "Primary key (PK) of the profile"
      },
      "filters": {
        "type": "array",
        "items": {
          "type": "object",
          "properties": {
            "filter": {
              "type": "string",
              "description": "Filter name from the List FIlters endpoint"
            },
            "status": {
              "type": "integer",
              "enum": [
                0,
                1
              ],
              "description": "Desired status of the filter. disabled (0) or enabled (1)"
            }
          },
          "required": [
            "filter",
            "status"
          ]
        },
        "description": "The filters value"
      }
    },
    "required": [
      "PCID",
      "profile_id"
    ]
  }
  ```
</Expandable>

***

## control\_d\_put\_profiles\_by\_profile\_id\_filters\_filter\_by\_filter

Filters - Modify

**Parameters:**

| Parameter    | Type    | Required | Default | Description                                      |
| ------------ | ------- | -------- | ------- | ------------------------------------------------ |
| `profile_id` | string  | Yes      | —       | Primary key (PK) of the profile                  |
| `filter`     | string  | Yes      | —       | Filter name                                      |
| `status`     | integer | No       | —       | Status of the filter. 1 to enable, 0 to disable. |

<Expandable title="inputSchema">
  ```json theme={null}
  {
    "type": "object",
    "properties": {
      "PCID": {
        "type": "string",
        "description": "Pink Connect ID for the authenticated connection"
      },
      "profile_id": {
        "type": "string",
        "description": "Primary key (PK) of the profile"
      },
      "filter": {
        "type": "string",
        "description": "Filter name"
      },
      "status": {
        "type": "integer",
        "description": "Status of the filter. 1 to enable, 0 to disable."
      }
    },
    "required": [
      "PCID",
      "profile_id",
      "filter"
    ]
  }
  ```
</Expandable>

***

## control\_d\_put\_profiles\_by\_profile\_id\_groups\_by\_folder

Rule Folders - Modify

**Parameters:**

| Parameter    | Type    | Required | Default | Description                                                          |
| ------------ | ------- | -------- | ------- | -------------------------------------------------------------------- |
| `profile_id` | string  | Yes      | —       | Primary key (PK) of the profile                                      |
| `folder`     | string  | Yes      | —       | Folder ID                                                            |
| `do`         | integer | No       | —       | Add a rule type to a folder. All rules inside will inherit rule type |
| `name`       | string  | No       | —       | Rename the folder to this name                                       |
| `status`     | integer | No       | —       | Status of the folder and all rules inside                            |
| `via`        | string  | No       | —       | Add spoof IP or hostname, or proxy identifer if do=2 or do=3         |

<Expandable title="inputSchema">
  ```json theme={null}
  {
    "type": "object",
    "properties": {
      "PCID": {
        "type": "string",
        "description": "Pink Connect ID for the authenticated connection"
      },
      "profile_id": {
        "type": "string",
        "description": "Primary key (PK) of the profile"
      },
      "folder": {
        "type": "string",
        "description": "Folder ID"
      },
      "do": {
        "type": "integer",
        "description": "Add a rule type to a folder. All rules inside will inherit rule type"
      },
      "name": {
        "type": "string",
        "description": "Rename the folder to this name"
      },
      "status": {
        "type": "integer",
        "description": "Status of the folder and all rules inside"
      },
      "via": {
        "type": "string",
        "description": "Add spoof IP or hostname, or proxy identifer if do=2 or do=3"
      }
    },
    "required": [
      "PCID",
      "profile_id",
      "folder"
    ]
  }
  ```
</Expandable>

***

## control\_d\_put\_profiles\_by\_profile\_id\_options\_by\_name

Profiles - Modify Options

**Parameters:**

| Parameter    | Type    | Required | Default | Description                                             |
| ------------ | ------- | -------- | ------- | ------------------------------------------------------- |
| `profile_id` | string  | Yes      | —       | Primary key (PK) of the profile                         |
| `name`       | string  | Yes      | —       | Option name                                             |
| `status`     | integer | No       | —       | Status of the Profile Option. 1 to enable, 0 to disable |
| `value`      | string  | No       | —       | Optional value of the option to set                     |

<Expandable title="inputSchema">
  ```json theme={null}
  {
    "type": "object",
    "properties": {
      "PCID": {
        "type": "string",
        "description": "Pink Connect ID for the authenticated connection"
      },
      "profile_id": {
        "type": "string",
        "description": "Primary key (PK) of the profile"
      },
      "name": {
        "type": "string",
        "description": "Option name"
      },
      "status": {
        "type": "integer",
        "description": "Status of the Profile Option. 1 to enable, 0 to disable"
      },
      "value": {
        "type": "string",
        "description": "Optional value of the option to set"
      }
    },
    "required": [
      "PCID",
      "profile_id",
      "name"
    ]
  }
  ```
</Expandable>

***

## control\_d\_put\_profiles\_by\_profile\_id\_rules

Custom Rules - Modify

**Parameters:**

| Parameter     | Type    | Required | Default | Description                                                                                                                            |
| ------------- | ------- | -------- | ------- | -------------------------------------------------------------------------------------------------------------------------------------- |
| `profile_id`  | string  | Yes      | —       | Primary key (PK) of the profile                                                                                                        |
| `do`          | integer | No       | —       | Rule type. 0 = BLOCK. 1 = BYPASS, 2 = SPOOF, 3 = REDIRECT.                                                                             |
| `group`       | integer | No       | —       | ID of the folder to create this rule in.                                                                                               |
| `hostnames[]` | any\[]  | No       | —       | Array of hostnames                                                                                                                     |
| `status`      | integer | No       | —       | Status of the rule.                                                                                                                    |
| `via`         | string  | No       | —       | Spoof/Redirect target. If SPOOF, this can be an IP or hostname. If REDIRECT, this must be a valid proxy identifier. \<\<glossary:Via>> |
| `via_v6`      | string  | No       | —       | If SPOOF this can be a valid IPv6 address (AAAA record)                                                                                |

<Expandable title="inputSchema">
  ```json theme={null}
  {
    "type": "object",
    "properties": {
      "PCID": {
        "type": "string",
        "description": "Pink Connect ID for the authenticated connection"
      },
      "profile_id": {
        "type": "string",
        "description": "Primary key (PK) of the profile"
      },
      "do": {
        "type": "integer",
        "description": "Rule type. 0 = BLOCK. 1 = BYPASS, 2 = SPOOF, 3 = REDIRECT."
      },
      "group": {
        "type": "integer",
        "description": "ID of the folder to create this rule in."
      },
      "hostnames[]": {
        "type": "array",
        "description": "Array of hostnames"
      },
      "status": {
        "type": "integer",
        "description": "Status of the rule."
      },
      "via": {
        "type": "string",
        "description": "Spoof/Redirect target. If SPOOF, this can be an IP or hostname. If REDIRECT, this must be a valid proxy identifier. <<glossary:Via>>"
      },
      "via_v6": {
        "type": "string",
        "description": "If SPOOF this can be a valid IPv6 address (AAAA record)"
      }
    },
    "required": [
      "PCID",
      "profile_id"
    ]
  }
  ```
</Expandable>

***

## control\_d\_put\_profiles\_by\_profile\_id\_services\_by\_service

Services - Modify

**Parameters:**

| Parameter    | Type    | Required | Default | Description                                                                                                                              |
| ------------ | ------- | -------- | ------- | ---------------------------------------------------------------------------------------------------------------------------------------- |
| `profile_id` | string  | Yes      | —       | Primary key (PK) of the profile                                                                                                          |
| `service`    | string  | Yes      | —       | Service name                                                                                                                             |
| `do`         | integer | No       | —       | Rule type. 0 = BLOCK. 1 = BYPASS, 2 = SPOOF, 3 = REDIRECT.                                                                               |
| `status`     | integer | No       | —       | Rule status. 0 = disable. 1 = enabled                                                                                                    |
| `via`        | string  | No       | —       | Spoof/Redirect target. If SPOOF, this can be an IPv4 or hostname. If REDIRECT, this must be a valid proxy identifier. \<\<glossary:Via>> |
| `via_v6`     | string  | No       | —       | If SPOOF this can be a valid IPv6 address (AAAA record)                                                                                  |

<Expandable title="inputSchema">
  ```json theme={null}
  {
    "type": "object",
    "properties": {
      "PCID": {
        "type": "string",
        "description": "Pink Connect ID for the authenticated connection"
      },
      "profile_id": {
        "type": "string",
        "description": "Primary key (PK) of the profile"
      },
      "service": {
        "type": "string",
        "description": "Service name"
      },
      "do": {
        "type": "integer",
        "description": "Rule type. 0 = BLOCK. 1 = BYPASS, 2 = SPOOF, 3 = REDIRECT."
      },
      "status": {
        "type": "integer",
        "description": "Rule status. 0 = disable. 1 = enabled"
      },
      "via": {
        "type": "string",
        "description": "Spoof/Redirect target. If SPOOF, this can be an IPv4 or hostname. If REDIRECT, this must be a valid proxy identifier. <<glossary:Via>>"
      },
      "via_v6": {
        "type": "string",
        "description": "If SPOOF this can be a valid IPv6 address (AAAA record)"
      }
    },
    "required": [
      "PCID",
      "profile_id",
      "service"
    ]
  }
  ```
</Expandable>
