Documentation Index
Fetch the complete documentation index at: https://docs.hybridbox.io/llms.txt
Use this file to discover all available pages before exploring further.
Domains
Manage domains, verification, DNS status, setup keys, and domain workspaces. The examples use A2A code mode. MCP exposes the same code mode through itsexecute tool.
Functions
domains.delete
| 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
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
Returns
| Field | Type | Required | Description |
|---|---|---|---|
result | {} | yes |
A2A example
A2A example
Request:Response:
MCP example
MCP example
Request:Response:
domains.get
| 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
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
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
A2A example
Request:Response:
MCP example
MCP example
Request:Response:
domains.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
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
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
A2A example
Request:Response:
MCP example
MCP example
Request:Response:
domains.list
| 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
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
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
A2A example
Request:Response:
MCP example
MCP example
Request:Response:
domains.move
| 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
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
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
A2A example
Request:Response:
MCP example
MCP example
Request:Response:
domains.purchase
| 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
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
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
A2A example
Request:Response:
MCP example
MCP example
Request:Response:
domains.search
| 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
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
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
A2A example
Request:Response:
MCP example
MCP example
Request:Response:
domains.update
| 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
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
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
A2A example
Request:Response:
MCP example
MCP example
Request:Response:
domains.verify
| 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
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
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
A2A example
Request:Response:
MCP example
MCP example
Request:Response: