# Domains

Manage domains, verification, DNS status, setup keys, and domain workspaces.

The examples use A2A code mode. MCP exposes the same code mode through its `execute` tool.

## Functions

### `domains.delete`

```text
domains.delete(account_id: str, domain: str) -> {}
```

Delete domains.

| Property | Value | Property | Value |
| --- | --- | --- | --- |
| Requires permission | `domain.delete` | Auth required | `yes` |
| Execution mode | `sync` | Capability | `domain.delete` |
| Resource type | `account` | Resource ID field | `account_id` |
| Public API route | `DELETE /v1/public/accounts/{account_id}/domains/{domain}` |  |  |

  

### Arguments

| Name | Type | Required | Description |
| --- | --- | --- | --- |
| `account_id` | `str` | yes | Account UUID from the route path |
| `domain` | `str` | yes | Domain name or UUID from the route path |

  
  

### Returns

| Field | Type | Required | Description |
| --- | --- | --- | --- |
| `result` | `{}` | yes |  |

  
  

### A2A example

Request:

```json
{
  "request_id": "example",
  "session_id": "session_123",
  "code": "domains.delete(account_id=\"3c90c3cc-0d44-4b50-8888-8dd25736052a\", domain=\"example.com\")"
}
```

Response:

```json
{
  "request_id": "example",
  "status": "completed",
  "result": {
    "last_value": {}
  },
  "responses": [
    {
      "index": 0,
      "function": "domains.delete",
      "status": "completed",
      "result": {}
    }
  ],
  "complexity_score": 1
}
```

  
  

### MCP example

Request:

```json
{
  "jsonrpc": "2.0",
  "id": "example",
  "method": "tools/call",
  "params": {
    "name": "hybridbox_execute",
    "arguments": {
      "code": "domains.delete(account_id=\"3c90c3cc-0d44-4b50-8888-8dd25736052a\", domain=\"example.com\")"
    }
  }
}
```

Response:

```json
{
  "jsonrpc": "2.0",
  "id": "example",
  "result": {
    "content": [
      {
        "type": "text",
        "text": "{\n  \"request_id\": \"example\",\n  \"status\": \"completed\",\n  \"result\": {\n    \"last_value\": {}\n  },\n  \"responses\": [\n    {\n      \"index\": 0,\n      \"function\": \"domains.delete\",\n      \"status\": \"completed\",\n      \"result\": {}\n    }\n  ],\n  \"complexity_score\": 1\n}"
      }
    ],
    "isError": false
  }
}
```

  

### `domains.get`

```text
domains.get(account_id: str, domain: str) -> Domain
```

Get domains.

| Property | Value | Property | Value |
| --- | --- | --- | --- |
| Requires permission | `domain.view` | Auth required | `yes` |
| Execution mode | `sync` | Capability | `domain.view` |
| Resource type | `account` | Resource ID field | `account_id` |
| Public API route | `GET /v1/public/accounts/{account_id}/domains/{domain}` |  |  |

  

### Arguments

| Name | Type | Required | Description |
| --- | --- | --- | --- |
| `account_id` | `str` | yes | Account UUID from the route path |
| `domain` | `str` | yes | Domain name or UUID from the route path |

  
  

### Returns

| Field | Type | Required | Description |
| --- | --- | --- | --- |
| `id` | `str` | yes | Domain UUID |
| `name` | `str` | yes | Domain name |
| `outbound_routing_ready` | `bool` | yes | Whether outbound routing is ready |
| `status` | `str` | yes | Domain lifecycle status |
| `workspace_id` | `str` | yes | Workspace UUID that contains the domain |
| `auto_renew` | `bool` | no | Whether domain auto-renewal is enabled |
| `created_at` | `str \| null` | no | Domain creation timestamp |
| `dedicated_ip_id` | `str \| null` | no | Assigned dedicated IP UUID, if any |
| `dns_records` | `[{"id": int, "name": str, "ttl": int, "type": str, "value": str, "is_system_managed"?: bool, "priority"?: int \| null}]` | no | DNS records for the domain |
| `inbound_tenant_external_id` | `str \| null` | no | Provider external ID for the inbound tenant |
| `inbound_tenant_id` | `str \| null` | no | Inbound tenant UUID, if assigned |
| `inbound_tenant_name` | `str \| null` | no | Inbound tenant display name, if assigned |
| `inbound_tenant_type` | `str \| null` | no | Inbound tenant type, if assigned |
| `mailboxes` | `[{"active": bool, "email": str, "first_name": str, "id": str, "last_name": str}]` | no | Mailboxes on the domain |
| `redirect_mode` | `"301" \| "302" \| "iframe" \| null` | no | Configured redirect mode, if any |
| `redirect_url` | `str \| null` | no | Configured redirect URL, if any |
| `tags` | `[{"id": str, "name": str}]` | no | Tags attached to the domain |
| `updated_at` | `str \| null` | no | Domain last update timestamp |

  
  

### A2A example

Request:

```json
{
  "request_id": "example",
  "session_id": "session_123",
  "code": "domains.get(account_id=\"3c90c3cc-0d44-4b50-8888-8dd25736052a\", domain=\"example.com\")"
}
```

Response:

```json
{
  "request_id": "example",
  "status": "completed",
  "result": {
    "last_value": true
  },
  "responses": [
    {
      "index": 0,
      "function": "domains.get",
      "status": "completed",
      "result": true
    }
  ],
  "complexity_score": 1
}
```

  
  

### MCP example

Request:

```json
{
  "jsonrpc": "2.0",
  "id": "example",
  "method": "tools/call",
  "params": {
    "name": "hybridbox_execute",
    "arguments": {
      "code": "domains.get(account_id=\"3c90c3cc-0d44-4b50-8888-8dd25736052a\", domain=\"example.com\")"
    }
  }
}
```

Response:

```json
{
  "jsonrpc": "2.0",
  "id": "example",
  "result": {
    "content": [
      {
        "type": "text",
        "text": "{\n  \"request_id\": \"example\",\n  \"status\": \"completed\",\n  \"result\": {\n    \"last_value\": true\n  },\n  \"responses\": [\n    {\n      \"index\": 0,\n      \"function\": \"domains.get\",\n      \"status\": \"completed\",\n      \"result\": true\n    }\n  ],\n  \"complexity_score\": 1\n}"
      }
    ],
    "isError": false
  }
}
```

  

### `domains.health`

```text
domains.health(account_id: str, domain: str, refresh?: bool) -> Domain
```

Get domain health.

| Property | Value | Property | Value |
| --- | --- | --- | --- |
| Requires permission | `domain.view` | Auth required | `yes` |
| Execution mode | `sync` | Capability | `domain.view` |
| Resource type | `account` | Resource ID field | `account_id` |
| Public API route | `GET /v1/public/accounts/{account_id}/domains/{domain}/health` |  |  |

  

### Arguments

| Name | Type | Required | Description |
| --- | --- | --- | --- |
| `account_id` | `str` | yes | Account UUID from the route path |
| `domain` | `str` | yes | Domain name or UUID from the route path |
| `refresh` | `bool` | no | Bypass cache and force refresh |

  
  

### Returns

| Field | Type | Required | Description |
| --- | --- | --- | --- |
| `cache_ttl_seconds` | `int` | yes |  |
| `cached` | `bool` | yes |  |
| `checked_at` | `str` | yes |  |
| `checks` | `{"dns": {"status": "healthy" \| "warning" \| "critical" \| "unknown", "a"?: {"status": "healthy" \| "warning" \| "critical" \| "unknown", "actual"?: [str] \| null, "code"?: str \| null, "days_remaining"?: int \| null, "error"?: str \| null, "expected"?: [str] \| null, "expires_at"?: str \| null, "issuer"?: str \| null, "record"?: str \| null, "records"?: [str] \| null, "status_code"?: int \| null} \| null, "dkim"?: {"status": "healthy" \| "warning" \| "critical" \| "unknown", "actual"?: [str] \| null, "code"?: str \| null, "days_remaining"?: int \| null, "error"?: str \| null, "expected"?: [str] \| null, "expires_at"?: str \| null, "issuer"?: str \| null, "record"?: str \| null, "records"?: [str] \| null, "status_code"?: int \| null} \| null, "dmarc"?: {"status": "healthy" \| "warning" \| "critical" \| "unknown", "actual"?: [str] \| null, "code"?: str \| null, "days_remaining"?: int \| null, "error"?: str \| null, "expected"?: [str] \| null, "expires_at"?: str \| null, "issuer"?: str \| null, "record"?: str \| null, "records"?: [str] \| null, "status_code"?: int \| null} \| null, "error"?: str \| null, "mx"?: {"status": "healthy" \| "warning" \| "critical" \| "unknown", "actual"?: [str] \| null, "code"?: str \| null, "days_remaining"?: int \| null, "error"?: str \| null, "expected"?: [str] \| null, "expires_at"?: str \| null, "issuer"?: str \| null, "record"?: str \| null, "records"?: [str] \| null, "status_code"?: int \| null} \| null, "ns"?: {"status": "healthy" \| "warning" \| "critical" \| "unknown", "actual"?: [str] \| null, "code"?: str \| null, "days_remaining"?: int \| null, "error"?: str \| null, "expected"?: [str] \| null, "expires_at"?: str \| null, "issuer"?: str \| null, "record"?: str \| null, "records"?: [str] \| null, "status_code"?: int \| null} \| null, "spf"?: {"status": "healthy" \| "warning" \| "critical" \| "unknown", "actual"?: [str] \| null, "code"?: str \| null, "days_remaining"?: int \| null, "error"?: str \| null, "expected"?: [str] \| null, "expires_at"?: str \| null, "issuer"?: str \| null, "record"?: str \| null, "records"?: [str] \| null, "status_code"?: int \| null} \| null}, "ports": {"status": "healthy" \| "warning" \| "critical" \| "unknown", "error"?: str \| null, "imap_143"?: {"status": "healthy" \| "warning" \| "critical" \| "unknown", "actual"?: [str] \| null, "code"?: str \| null, "days_remaining"?: int \| null, "error"?: str \| null, "expected"?: [str] \| null, "expires_at"?: str \| null, "issuer"?: str \| null, "record"?: str \| null, "records"?: [str] \| null, "status_code"?: int \| null} \| null, "imaps_993"?: {"status": "healthy" \| "warning" \| "critical" \| "unknown", "actual"?: [str] \| null, "code"?: str \| null, "days_remaining"?: int \| null, "error"?: str \| null, "expected"?: [str] \| null, "expires_at"?: str \| null, "issuer"?: str \| null, "record"?: str \| null, "records"?: [str] \| null, "status_code"?: int \| null} \| null, "smtp_25"?: {"status": "healthy" \| "warning" \| "critical" \| "unknown", "actual"?: [str] \| null, "code"?: str \| null, "days_remaining"?: int \| null, "error"?: str \| null, "expected"?: [str] \| null, "expires_at"?: str \| null, "issuer"?: str \| null, "record"?: str \| null, "records"?: [str] \| null, "status_code"?: int \| null} \| null, "submission_587"?: {"status": "healthy" \| "warning" \| "critical" \| "unknown", "actual"?: [str] \| null, "code"?: str \| null, "days_remaining"?: int \| null, "error"?: str \| null, "expected"?: [str] \| null, "expires_at"?: str \| null, "issuer"?: str \| null, "record"?: str \| null, "records"?: [str] \| null, "status_code"?: int \| null} \| null}, "ssl": {"status": "healthy" \| "warning" \| "critical" \| "unknown", "actual"?: [str] \| null, "code"?: str \| null, "days_remaining"?: int \| null, "error"?: str \| null, "expected"?: [str] \| null, "expires_at"?: str \| null, "issuer"?: str \| null, "record"?: str \| null, "records"?: [str] \| null, "status_code"?: int \| null}, "web": {"status": "healthy" \| "warning" \| "critical" \| "unknown", "error"?: str \| null, "http_root"?: {"status": "healthy" \| "warning" \| "critical" \| "unknown", "actual"?: [str] \| null, "code"?: str \| null, "days_remaining"?: int \| null, "error"?: str \| null, "expected"?: [str] \| null, "expires_at"?: str \| null, "issuer"?: str \| null, "record"?: str \| null, "records"?: [str] \| null, "status_code"?: int \| null} \| null, "http_www"?: {"status": "healthy" \| "warning" \| "critical" \| "unknown", "actual"?: [str] \| null, "code"?: str \| null, "days_remaining"?: int \| null, "error"?: str \| null, "expected"?: [str] \| null, "expires_at"?: str \| null, "issuer"?: str \| null, "record"?: str \| null, "records"?: [str] \| null, "status_code"?: int \| null} \| null, "https_root"?: {"status": "healthy" \| "warning" \| "critical" \| "unknown", "actual"?: [str] \| null, "code"?: str \| null, "days_remaining"?: int \| null, "error"?: str \| null, "expected"?: [str] \| null, "expires_at"?: str \| null, "issuer"?: str \| null, "record"?: str \| null, "records"?: [str] \| null, "status_code"?: int \| null} \| null, "https_www"?: {"status": "healthy" \| "warning" \| "critical" \| "unknown", "actual"?: [str] \| null, "code"?: str \| null, "days_remaining"?: int \| null, "error"?: str \| null, "expected"?: [str] \| null, "expires_at"?: str \| null, "issuer"?: str \| null, "record"?: str \| null, "records"?: [str] \| null, "status_code"?: int \| null} \| null}}` | yes |  |
| `domain_id` | `str` | yes |  |
| `domain_name` | `str` | yes |  |
| `summary_status` | `"healthy" \| "warning" \| "critical" \| "unknown"` | yes |  |
| `timings_ms` | `{}` | yes |  |

  
  

### A2A example

Request:

```json
{
  "request_id": "example",
  "session_id": "session_123",
  "code": "domains.health(account_id=\"3c90c3cc-0d44-4b50-8888-8dd25736052a\", domain=\"example.com\", refresh=true)"
}
```

Response:

```json
{
  "request_id": "example",
  "status": "completed",
  "result": {
    "last_value": 123
  },
  "responses": [
    {
      "index": 0,
      "function": "domains.health",
      "status": "completed",
      "result": 123
    }
  ],
  "complexity_score": 1
}
```

  
  

### MCP example

Request:

```json
{
  "jsonrpc": "2.0",
  "id": "example",
  "method": "tools/call",
  "params": {
    "name": "hybridbox_execute",
    "arguments": {
      "code": "domains.health(account_id=\"3c90c3cc-0d44-4b50-8888-8dd25736052a\", domain=\"example.com\", refresh=true)"
    }
  }
}
```

Response:

```json
{
  "jsonrpc": "2.0",
  "id": "example",
  "result": {
    "content": [
      {
        "type": "text",
        "text": "{\n  \"request_id\": \"example\",\n  \"status\": \"completed\",\n  \"result\": {\n    \"last_value\": 123\n  },\n  \"responses\": [\n    {\n      \"index\": 0,\n      \"function\": \"domains.health\",\n      \"status\": \"completed\",\n      \"result\": 123\n    }\n  ],\n  \"complexity_score\": 1\n}"
      }
    ],
    "isError": false
  }
}
```

  

### `domains.list`

```text
domains.list(account_id: str, page?: int, page_size?: int, search?: str | null, workspace_id?: str | null) -> Page[Domain]
```

List domains.

| Property | Value | Property | Value |
| --- | --- | --- | --- |
| Requires permission | `domain.view` | Auth required | `yes` |
| Execution mode | `sync` | Capability | `domain.view` |
| Resource type | `account` | Resource ID field | `account_id` |
| Public API route | `GET /v1/public/accounts/{account_id}/domains` |  |  |

  

### Arguments

| Name | Type | Required | Description |
| --- | --- | --- | --- |
| `account_id` | `str` | yes | Account UUID from the route path |
| `page` | `int` | no | One-based domain page number |
| `page_size` | `int` | no | Maximum domains per page |
| `search` | `str \| null` | no | Search by domain name |
| `workspace_id` | `str \| null` | no | Filter domains by workspace UUID |

  
  

### Returns

| Field | Type | Required | Description |
| --- | --- | --- | --- |
| `items` | `[{"id": str, "name": str, "outbound_routing_ready": bool, "status": str, "workspace_id": str, "auto_renew"?: bool, "created_at"?: str \| null, "dedicated_ip_id"?: str \| null, "inbound_tenant_external_id"?: str \| null, "inbound_tenant_id"?: str \| null, "inbound_tenant_name"?: str \| null, "inbound_tenant_type"?: str \| null, "redirect_mode"?: "301" \| "302" \| "iframe" \| null, "redirect_url"?: str \| null, "tags"?: [{"id": str, "name": str}], "updated_at"?: str \| null}]` | yes | Domains on this page |
| `page` | `int` | yes | Current one-based page number |
| `page_size` | `int` | yes | Maximum items per page |
| `total` | `int` | yes | Total matching domains |

  
  

### A2A example

Request:

```json
{
  "request_id": "example",
  "session_id": "session_123",
  "code": "domains.list(account_id=\"3c90c3cc-0d44-4b50-8888-8dd25736052a\", page=123, page_size=123, search=\"<string>\", workspace_id=\"3c90c3cc-0d44-4b50-8888-8dd25736052a\")"
}
```

Response:

```json
{
  "request_id": "example",
  "status": "completed",
  "result": {
    "last_value": true
  },
  "responses": [
    {
      "index": 0,
      "function": "domains.list",
      "status": "completed",
      "result": true
    }
  ],
  "complexity_score": 1
}
```

  
  

### MCP example

Request:

```json
{
  "jsonrpc": "2.0",
  "id": "example",
  "method": "tools/call",
  "params": {
    "name": "hybridbox_execute",
    "arguments": {
      "code": "domains.list(account_id=\"3c90c3cc-0d44-4b50-8888-8dd25736052a\", page=123, page_size=123, search=\"<string>\", workspace_id=\"3c90c3cc-0d44-4b50-8888-8dd25736052a\")"
    }
  }
}
```

Response:

```json
{
  "jsonrpc": "2.0",
  "id": "example",
  "result": {
    "content": [
      {
        "type": "text",
        "text": "{\n  \"request_id\": \"example\",\n  \"status\": \"completed\",\n  \"result\": {\n    \"last_value\": true\n  },\n  \"responses\": [\n    {\n      \"index\": 0,\n      \"function\": \"domains.list\",\n      \"status\": \"completed\",\n      \"result\": true\n    }\n  ],\n  \"complexity_score\": 1\n}"
      }
    ],
    "isError": false
  }
}
```

  

### `domains.move`

```text
domains.move(account_id: str, domain: str, target_workspace_id: str) -> Domain
```

Move a domain to another workspace.

| Property | Value | Property | Value |
| --- | --- | --- | --- |
| Requires permission | `domain.move` | Auth required | `yes` |
| Execution mode | `sync` | Capability | `domain.move` |
| Resource type | `workspace` | Resource ID field | `target_workspace_id` |
| Public API route | `POST /v1/public/accounts/{account_id}/domains/{domain}/move` |  |  |

  

### Arguments

| Name | Type | Required | Description |
| --- | --- | --- | --- |
| `account_id` | `str` | yes | Account UUID from the route path |
| `domain` | `str` | yes | Domain name or UUID from the route path |
| `target_workspace_id` | `str` | yes |  |

  
  

### Returns

| Field | Type | Required | Description |
| --- | --- | --- | --- |
| `account_id` | `str` | yes |  |
| `domain_id` | `str` | yes |  |
| `domain_name` | `str` | yes |  |
| `from_workspace_id` | `str` | yes |  |
| `reconciled` | `{"linked_records_changed"?: int}` | yes |  |
| `to_workspace_id` | `str` | yes |  |
| `status` | `str` | no |  |

  
  

### A2A example

Request:

```json
{
  "request_id": "example",
  "session_id": "session_123",
  "code": "domains.move(account_id=\"3c90c3cc-0d44-4b50-8888-8dd25736052a\", domain=\"example.com\", target_workspace_id=\"3c90c3cc-0d44-4b50-8888-8dd25736052a\")"
}
```

Response:

```json
{
  "request_id": "example",
  "status": "completed",
  "result": {
    "last_value": 123
  },
  "responses": [
    {
      "index": 0,
      "function": "domains.move",
      "status": "completed",
      "result": 123
    }
  ],
  "complexity_score": 1
}
```

  
  

### MCP example

Request:

```json
{
  "jsonrpc": "2.0",
  "id": "example",
  "method": "tools/call",
  "params": {
    "name": "hybridbox_execute",
    "arguments": {
      "code": "domains.move(account_id=\"3c90c3cc-0d44-4b50-8888-8dd25736052a\", domain=\"example.com\", target_workspace_id=\"3c90c3cc-0d44-4b50-8888-8dd25736052a\")"
    }
  }
}
```

Response:

```json
{
  "jsonrpc": "2.0",
  "id": "example",
  "result": {
    "content": [
      {
        "type": "text",
        "text": "{\n  \"request_id\": \"example\",\n  \"status\": \"completed\",\n  \"result\": {\n    \"last_value\": 123\n  },\n  \"responses\": [\n    {\n      \"index\": 0,\n      \"function\": \"domains.move\",\n      \"status\": \"completed\",\n      \"result\": 123\n    }\n  ],\n  \"complexity_score\": 1\n}"
      }
    ],
    "isError": false
  }
}
```

  

### `domains.purchase`

```text
domains.purchase(account_id: str, contact_info: {"address_1": str, "city": str, "country": str, "email": str, "first_name": str, "last_name": str, "organization": str, "phone": str, "state": str, "zip": str}, domains: [str], workspace_id: str) -> Domain
```

Purchase domains.

| Property | Value | Property | Value |
| --- | --- | --- | --- |
| Requires permission | `domain.purchase` | Auth required | `yes` |
| Execution mode | `sync` | Capability | `domain.purchase` |
| Resource type | `account` | Resource ID field | `account_id` |
| Public API route | `POST /v1/public/accounts/{account_id}/domains/purchase` |  |  |

  

### Arguments

| Name | Type | Required | Description |
| --- | --- | --- | --- |
| `account_id` | `str` | yes | Account UUID from the route path |
| `contact_info` | `{"address_1": str, "city": str, "country": str, "email": str, "first_name": str, "last_name": str, "organization": str, "phone": str, "state": str, "zip": str}` | yes |  |
| `domains` | `[str]` | yes |  |
| `workspace_id` | `str` | yes |  |

  
  

### Returns

| Field | Type | Required | Description |
| --- | --- | --- | --- |
| `results` | `[{"domain_name": str, "status": str, "error"?: str \| null, "error_code"?: str \| null, "id"?: str \| null}]` | yes |  |
| `currency` | `str \| null` | no |  |
| `estimated_total` | `str \| null` | no |  |
| `failed_count` | `int` | no |  |
| `payment_url` | `str \| null` | no |  |
| `purchase_batch_id` | `str \| null` | no |  |
| `successful_count` | `int` | no |  |

  
  

### A2A example

Request:

```json
{
  "request_id": "example",
  "session_id": "session_123",
  "code": "domains.purchase(account_id=\"3c90c3cc-0d44-4b50-8888-8dd25736052a\", contact_info=\"<string>\", domains=\"example.com\", workspace_id=\"3c90c3cc-0d44-4b50-8888-8dd25736052a\")"
}
```

Response:

```json
{
  "request_id": "example",
  "status": "completed",
  "result": {
    "last_value": "<string>"
  },
  "responses": [
    {
      "index": 0,
      "function": "domains.purchase",
      "status": "completed",
      "result": "<string>"
    }
  ],
  "complexity_score": 1
}
```

  
  

### MCP example

Request:

```json
{
  "jsonrpc": "2.0",
  "id": "example",
  "method": "tools/call",
  "params": {
    "name": "hybridbox_execute",
    "arguments": {
      "code": "domains.purchase(account_id=\"3c90c3cc-0d44-4b50-8888-8dd25736052a\", contact_info=\"<string>\", domains=\"example.com\", workspace_id=\"3c90c3cc-0d44-4b50-8888-8dd25736052a\")"
    }
  }
}
```

Response:

```json
{
  "jsonrpc": "2.0",
  "id": "example",
  "result": {
    "content": [
      {
        "type": "text",
        "text": "{\n  \"request_id\": \"example\",\n  \"status\": \"completed\",\n  \"result\": {\n    \"last_value\": \"<string>\"\n  },\n  \"responses\": [\n    {\n      \"index\": 0,\n      \"function\": \"domains.purchase\",\n      \"status\": \"completed\",\n      \"result\": \"<string>\"\n    }\n  ],\n  \"complexity_score\": 1\n}"
      }
    ],
    "isError": false
  }
}
```

  

### `domains.search`

```text
domains.search(account_id: str, domains: [str], workspace_id: str) -> list[Domain]
```

Search domains.

| Property | Value | Property | Value |
| --- | --- | --- | --- |
| Requires permission | `domain.create` | Auth required | `yes` |
| Execution mode | `sync` | Capability | `domain.create` |
| Resource type | `account` | Resource ID field | `account_id` |
| Public API route | `GET /v1/public/accounts/{account_id}/domains/search` |  |  |

  

### Arguments

| Name | Type | Required | Description |
| --- | --- | --- | --- |
| `account_id` | `str` | yes | Account UUID from the route path |
| `domains` | `[str]` | yes | Domain names to check |
| `workspace_id` | `str` | yes | Workspace UUID |

  
  

### Returns

| Field | Type | Required | Description |
| --- | --- | --- | --- |
| `available` | `bool` | yes |  |
| `domain` | `str` | yes |  |
| `price` | `str` | yes |  |
| `alternatives` | `[{"domain": str, "price": str, "available"?: bool, "currency"?: str, "is_premium"?: bool, "is_suggestion"?: bool}]` | no |  |
| `currency` | `str` | no |  |
| `is_premium` | `bool` | no |  |
| `is_suggestion` | `bool` | no |  |
| `unavailable_reason` | `str \| null` | no |  |

  
  

### A2A example

Request:

```json
{
  "request_id": "example",
  "session_id": "session_123",
  "code": "domains.search(account_id=\"3c90c3cc-0d44-4b50-8888-8dd25736052a\", domains=\"example.com\", workspace_id=\"3c90c3cc-0d44-4b50-8888-8dd25736052a\")"
}
```

Response:

```json
{
  "request_id": "example",
  "status": "completed",
  "result": {
    "last_value": true
  },
  "responses": [
    {
      "index": 0,
      "function": "domains.search",
      "status": "completed",
      "result": true
    }
  ],
  "complexity_score": 1
}
```

  
  

### MCP example

Request:

```json
{
  "jsonrpc": "2.0",
  "id": "example",
  "method": "tools/call",
  "params": {
    "name": "hybridbox_execute",
    "arguments": {
      "code": "domains.search(account_id=\"3c90c3cc-0d44-4b50-8888-8dd25736052a\", domains=\"example.com\", workspace_id=\"3c90c3cc-0d44-4b50-8888-8dd25736052a\")"
    }
  }
}
```

Response:

```json
{
  "jsonrpc": "2.0",
  "id": "example",
  "result": {
    "content": [
      {
        "type": "text",
        "text": "{\n  \"request_id\": \"example\",\n  \"status\": \"completed\",\n  \"result\": {\n    \"last_value\": true\n  },\n  \"responses\": [\n    {\n      \"index\": 0,\n      \"function\": \"domains.search\",\n      \"status\": \"completed\",\n      \"result\": true\n    }\n  ],\n  \"complexity_score\": 1\n}"
      }
    ],
    "isError": false
  }
}
```

  

### `domains.update`

```text
domains.update(account_id: str, domain: str, auto_renew?: bool | null, redirect_mode?: "301" | "302" | "iframe" | null, redirect_url?: str | null, workspace_id?: str | null) -> Domain
```

Update domains.

| Property | Value | Property | Value |
| --- | --- | --- | --- |
| Requires permission | `domain.update` | Auth required | `yes` |
| Execution mode | `sync` | Capability | `domain.update` |
| Resource type | `account` | Resource ID field | `account_id` |
| Public API route | `PATCH /v1/public/accounts/{account_id}/domains/{domain}` |  |  |

  

### Arguments

| Name | Type | Required | Description |
| --- | --- | --- | --- |
| `account_id` | `str` | yes | Account UUID from the route path |
| `domain` | `str` | yes | Domain name or UUID from the route path |
| `auto_renew` | `bool \| null` | no |  |
| `redirect_mode` | `"301" \| "302" \| "iframe" \| null` | no | Redirect mode to use when creating or updating a redirect |
| `redirect_url` | `str \| null` | no | HTTPS redirect URL, or null to clear |
| `workspace_id` | `str \| null` | no |  |

  
  

### Returns

| Field | Type | Required | Description |
| --- | --- | --- | --- |
| `auto_renew` | `bool` | yes |  |
| `id` | `str` | yes |  |
| `workspace_id` | `str` | yes |  |
| `redirect_mode` | `"301" \| "302" \| "iframe" \| null` | no |  |
| `redirect_url` | `str \| null` | no |  |

  
  

### A2A example

Request:

```json
{
  "request_id": "example",
  "session_id": "session_123",
  "code": "domains.update(account_id=\"3c90c3cc-0d44-4b50-8888-8dd25736052a\", domain=\"example.com\", auto_renew=true, redirect_mode=\"<string>\", redirect_url=\"<string>\", workspace_id=\"3c90c3cc-0d44-4b50-8888-8dd25736052a\")"
}
```

Response:

```json
{
  "request_id": "example",
  "status": "completed",
  "result": {
    "last_value": true
  },
  "responses": [
    {
      "index": 0,
      "function": "domains.update",
      "status": "completed",
      "result": true
    }
  ],
  "complexity_score": 1
}
```

  
  

### MCP example

Request:

```json
{
  "jsonrpc": "2.0",
  "id": "example",
  "method": "tools/call",
  "params": {
    "name": "hybridbox_execute",
    "arguments": {
      "code": "domains.update(account_id=\"3c90c3cc-0d44-4b50-8888-8dd25736052a\", domain=\"example.com\", auto_renew=true, redirect_mode=\"<string>\", redirect_url=\"<string>\", workspace_id=\"3c90c3cc-0d44-4b50-8888-8dd25736052a\")"
    }
  }
}
```

Response:

```json
{
  "jsonrpc": "2.0",
  "id": "example",
  "result": {
    "content": [
      {
        "type": "text",
        "text": "{\n  \"request_id\": \"example\",\n  \"status\": \"completed\",\n  \"result\": {\n    \"last_value\": true\n  },\n  \"responses\": [\n    {\n      \"index\": 0,\n      \"function\": \"domains.update\",\n      \"status\": \"completed\",\n      \"result\": true\n    }\n  ],\n  \"complexity_score\": 1\n}"
      }
    ],
    "isError": false
  }
}
```

  

### `domains.verify`

```text
domains.verify(account_id: str, domain: str) -> Domain
```

Verify domains.

| Property | Value | Property | Value |
| --- | --- | --- | --- |
| Requires permission | `domain.verify` | Auth required | `yes` |
| Execution mode | `sync` | Capability | `domain.verify` |
| Resource type | `account` | Resource ID field | `account_id` |
| Public API route | `POST /v1/public/accounts/{account_id}/domains/{domain}/verify` |  |  |

  

### Arguments

| Name | Type | Required | Description |
| --- | --- | --- | --- |
| `account_id` | `str` | yes | Account UUID from the route path |
| `domain` | `str` | yes | Domain name or UUID from the route path |

  
  

### Returns

| Field | Type | Required | Description |
| --- | --- | --- | --- |
| `actual_nameservers` | `[str]` | yes |  |
| `domain_id` | `str` | yes |  |
| `expected_nameservers` | `[str]` | yes |  |
| `message` | `str` | yes |  |
| `status` | `str` | yes |  |
| `verified` | `bool` | yes |  |
| `missing_nameservers` | `[str]` | no |  |
| `unexpected_nameservers` | `[str]` | no |  |

  
  

### A2A example

Request:

```json
{
  "request_id": "example",
  "session_id": "session_123",
  "code": "domains.verify(account_id=\"3c90c3cc-0d44-4b50-8888-8dd25736052a\", domain=\"example.com\")"
}
```

Response:

```json
{
  "request_id": "example",
  "status": "completed",
  "result": {
    "last_value": true
  },
  "responses": [
    {
      "index": 0,
      "function": "domains.verify",
      "status": "completed",
      "result": true
    }
  ],
  "complexity_score": 1
}
```

  
  

### MCP example

Request:

```json
{
  "jsonrpc": "2.0",
  "id": "example",
  "method": "tools/call",
  "params": {
    "name": "hybridbox_execute",
    "arguments": {
      "code": "domains.verify(account_id=\"3c90c3cc-0d44-4b50-8888-8dd25736052a\", domain=\"example.com\")"
    }
  }
}
```

Response:

```json
{
  "jsonrpc": "2.0",
  "id": "example",
  "result": {
    "content": [
      {
        "type": "text",
        "text": "{\n  \"request_id\": \"example\",\n  \"status\": \"completed\",\n  \"result\": {\n    \"last_value\": true\n  },\n  \"responses\": [\n    {\n      \"index\": 0,\n      \"function\": \"domains.verify\",\n      \"status\": \"completed\",\n      \"result\": true\n    }\n  ],\n  \"complexity_score\": 1\n}"
      }
    ],
    "isError": false
  }
}
```
