manage_website_routes
Manage workspace website routes independently of domain registrar DNS operations.
# MCP tool reference
1 callable tools.
Use tools/call at https://mcp.schedulerzero.com/mcp with the exact tool name and arguments below. The /tools/ paths in this view are documentation identifiers, not HTTP endpoints. Request execution is disabled for this reference.
Inputs are shown for personal API keys (bound) and for OAuth/delegated agents. Output schemas describe MCP structuredContent: native objects pass through; arrays, scalars and null use a data wrapper. Text content retains the native JSON result.
[Connect a client](/mcp/connect) · [Authentication and authorization](/authentication) · [Generated auth guide](/auth.md) · [Download tool catalog](/mcp-catalog.json) · [Agent documentation](/llms.txt)
## manage_website_routes
Manage workspace website routes independently of domain registrar DNS operations.
Use to list or inspect configured website routes, add a hostname route, update or retire a route, or check its provider reconciliation state. New routes return an opaque ownership TXT challenge; remove only that TXT record when ownershipRecord.removable is true, and retain certificate-validation CNAME, website routing and mail records.
Use manage_domain_dns for registrar DNS records.
Obtain the user's explicit authorization before invoking a write or destructive action. This is a client interaction requirement, not a server-issued approval token.
Scopes: domain:manage_dns
Risk: destructive; confirmation: explicit; idempotency: supported.
### Input schema (personal API key)
```json
{
"type": "object",
"properties": {
"workspaceId": {
"type": "string",
"pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|[fF]{8}-[fF]{4}-[fF]{4}-[fF]{4}-[fF]{12})$",
"format": "uuid"
},
"action": {
"anyOf": [
{
"type": "object",
"properties": {
"kind": {
"type": "string",
"enum": [
"list"
]
}
},
"required": [
"kind"
],
"patternProperties": {
"^(?!(?:kind)$)[\\s\\S]*$": false
},
"additionalProperties": true,
"propertyNames": {
"anyOf": [
{
"type": "string",
"enum": [
"kind"
]
}
]
}
},
{
"type": "object",
"properties": {
"kind": {
"type": "string",
"enum": [
"get"
]
},
"routeId": {
"type": "string",
"pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|[fF]{8}-[fF]{4}-[fF]{4}-[fF]{4}-[fF]{12})$",
"format": "uuid"
}
},
"required": [
"kind",
"routeId"
],
"patternProperties": {
"^(?!(?:kind|routeId)$)[\\s\\S]*$": false
},
"additionalProperties": true,
"propertyNames": {
"type": "string",
"enum": [
"kind",
"routeId"
]
}
},
{
"type": "object",
"properties": {
"kind": {
"type": "string",
"enum": [
"create"
]
},
"request": {
"type": "object",
"properties": {
"targetUrl": {
"type": "string",
"minLength": 1,
"maxLength": 2048
},
"mode": {
"type": "string",
"enum": [
"redirect",
"proxy"
]
},
"pathMode": {
"type": "string",
"enum": [
"preserve",
"prefix"
]
},
"hostname": {
"$ref": "#/$defs/DomainName"
}
},
"required": [
"targetUrl",
"mode",
"pathMode",
"hostname"
],
"patternProperties": {
"^(?!(?:targetUrl|mode|pathMode|hostname)$)[\\s\\S]*$": false
},
"additionalProperties": true,
"propertyNames": {
"type": "string",
"enum": [
"targetUrl",
"mode",
"pathMode",
"hostname"
]
}
}
},
"required": [
"kind",
"request"
],
"patternProperties": {
"^(?!(?:kind|request)$)[\\s\\S]*$": false
},
"additionalProperties": true,
"propertyNames": {
"type": "string",
"enum": [
"kind",
"request"
]
}
},
{
"type": "object",
"properties": {
"kind": {
"type": "string",
"enum": [
"save"
]
},
"routeId": {
"type": "string",
"pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|[fF]{8}-[fF]{4}-[fF]{4}-[fF]{4}-[fF]{12})$",
"format": "uuid"
},
"request": {
"type": "object",
"properties": {
"targetUrl": {
"type": "string",
"minLength": 1,
"maxLength": 2048
},
"mode": {
"type": "string",
"enum": [
"redirect",
"proxy"
]
},
"pathMode": {
"type": "string",
"enum": [
"preserve",
"prefix"
]
},
"expectedRevision": {
"type": "integer",
"minimum": 0,
"maximum": 9007199254740991
},
"desiredState": {
"type": "string",
"enum": [
"enabled",
"retired"
]
}
},
"required": [
"targetUrl",
"mode",
"pathMode",
"expectedRevision",
"desiredState"
],
"patternProperties": {
"^(?!(?:targetUrl|mode|pathMode|expectedRevision|desiredState)$)[\\s\\S]*$": false
},
"additionalProperties": true,
"propertyNames": {
"type": "string",
"enum": [
"targetUrl",
"mode",
"pathMode",
"expectedRevision",
"desiredState"
]
}
}
},
"required": [
"kind",
"routeId",
"request"
],
"patternProperties": {
"^(?!(?:kind|routeId|request)$)[\\s\\S]*$": false
},
"additionalProperties": true,
"propertyNames": {
"type": "string",
"enum": [
"kind",
"routeId",
"request"
]
}
},
{
"type": "object",
"properties": {
"kind": {
"type": "string",
"enum": [
"check"
]
},
"routeId": {
"type": "string",
"pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|[fF]{8}-[fF]{4}-[fF]{4}-[fF]{4}-[fF]{12})$",
"format": "uuid"
},
"request": {
"type": "object",
"properties": {
"expectedRevision": {
"type": "integer",
"minimum": 0,
"maximum": 9007199254740991
}
},
"required": [
"expectedRevision"
],
"patternProperties": {
"^(?!(?:expectedRevision)$)[\\s\\S]*$": false
},
"additionalProperties": true,
"propertyNames": {
"anyOf": [
{
"type": "string",
"enum": [
"expectedRevision"
]
}
]
}
}
},
"required": [
"kind",
"routeId",
"request"
],
"patternProperties": {
"^(?!(?:kind|routeId|request)$)[\\s\\S]*$": false
},
"additionalProperties": true,
"propertyNames": {
"type": "string",
"enum": [
"kind",
"routeId",
"request"
]
}
}
]
}
},
"required": [
"workspaceId",
"action"
],
"patternProperties": {
"^(?!(?:workspaceId|action)$)[\\s\\S]*$": false
},
"additionalProperties": true,
"propertyNames": {
"type": "string",
"enum": [
"workspaceId",
"action"
]
},
"$defs": {
"DomainName": {
"type": "string",
"minLength": 1,
"maxLength": 253,
"pattern": "^(?=.{1,253}$)(?:[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?\\.)+[a-zA-Z]{2,63}$"
}
}
}
```
### Input schema (OAuth / delegated agent)
```json
{
"type": "object",
"properties": {
"workspaceId": {
"type": "string",
"pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|[fF]{8}-[fF]{4}-[fF]{4}-[fF]{4}-[fF]{12})$",
"format": "uuid"
},
"action": {
"anyOf": [
{
"type": "object",
"properties": {
"kind": {
"type": "string",
"enum": [
"list"
]
}
},
"required": [
"kind"
],
"patternProperties": {
"^(?!(?:kind)$)[\\s\\S]*$": false
},
"additionalProperties": true,
"propertyNames": {
"anyOf": [
{
"type": "string",
"enum": [
"kind"
]
}
]
}
},
{
"type": "object",
"properties": {
"kind": {
"type": "string",
"enum": [
"get"
]
},
"routeId": {
"type": "string",
"pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|[fF]{8}-[fF]{4}-[fF]{4}-[fF]{4}-[fF]{12})$",
"format": "uuid"
}
},
"required": [
"kind",
"routeId"
],
"patternProperties": {
"^(?!(?:kind|routeId)$)[\\s\\S]*$": false
},
"additionalProperties": true,
"propertyNames": {
"type": "string",
"enum": [
"kind",
"routeId"
]
}
},
{
"type": "object",
"properties": {
"kind": {
"type": "string",
"enum": [
"create"
]
},
"request": {
"type": "object",
"properties": {
"targetUrl": {
"type": "string",
"minLength": 1,
"maxLength": 2048
},
"mode": {
"type": "string",
"enum": [
"redirect",
"proxy"
]
},
"pathMode": {
"type": "string",
"enum": [
"preserve",
"prefix"
]
},
"hostname": {
"$ref": "#/$defs/DomainName"
}
},
"required": [
"targetUrl",
"mode",
"pathMode",
"hostname"
],
"patternProperties": {
"^(?!(?:targetUrl|mode|pathMode|hostname)$)[\\s\\S]*$": false
},
"additionalProperties": true,
"propertyNames": {
"type": "string",
"enum": [
"targetUrl",
"mode",
"pathMode",
"hostname"
]
}
}
},
"required": [
"kind",
"request"
],
"patternProperties": {
"^(?!(?:kind|request)$)[\\s\\S]*$": false
},
"additionalProperties": true,
"propertyNames": {
"type": "string",
"enum": [
"kind",
"request"
]
}
},
{
"type": "object",
"properties": {
"kind": {
"type": "string",
"enum": [
"save"
]
},
"routeId": {
"type": "string",
"pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|[fF]{8}-[fF]{4}-[fF]{4}-[fF]{4}-[fF]{12})$",
"format": "uuid"
},
"request": {
"type": "object",
"properties": {
"targetUrl": {
"type": "string",
"minLength": 1,
"maxLength": 2048
},
"mode": {
"type": "string",
"enum": [
"redirect",
"proxy"
]
},
"pathMode": {
"type": "string",
"enum": [
"preserve",
"prefix"
]
},
"expectedRevision": {
"type": "integer",
"minimum": 0,
"maximum": 9007199254740991
},
"desiredState": {
"type": "string",
"enum": [
"enabled",
"retired"
]
}
},
"required": [
"targetUrl",
"mode",
"pathMode",
"expectedRevision",
"desiredState"
],
"patternProperties": {
"^(?!(?:targetUrl|mode|pathMode|expectedRevision|desiredState)$)[\\s\\S]*$": false
},
"additionalProperties": true,
"propertyNames": {
"type": "string",
"enum": [
"targetUrl",
"mode",
"pathMode",
"expectedRevision",
"desiredState"
]
}
}
},
"required": [
"kind",
"routeId",
"request"
],
"patternProperties": {
"^(?!(?:kind|routeId|request)$)[\\s\\S]*$": false
},
"additionalProperties": true,
"propertyNames": {
"type": "string",
"enum": [
"kind",
"routeId",
"request"
]
}
},
{
"type": "object",
"properties": {
"kind": {
"type": "string",
"enum": [
"check"
]
},
"routeId": {
"type": "string",
"pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|[fF]{8}-[fF]{4}-[fF]{4}-[fF]{4}-[fF]{12})$",
"format": "uuid"
},
"request": {
"type": "object",
"properties": {
"expectedRevision": {
"type": "integer",
"minimum": 0,
"maximum": 9007199254740991
}
},
"required": [
"expectedRevision"
],
"patternProperties": {
"^(?!(?:expectedRevision)$)[\\s\\S]*$": false
},
"additionalProperties": true,
"propertyNames": {
"anyOf": [
{
"type": "string",
"enum": [
"expectedRevision"
]
}
]
}
}
},
"required": [
"kind",
"routeId",
"request"
],
"patternProperties": {
"^(?!(?:kind|routeId|request)$)[\\s\\S]*$": false
},
"additionalProperties": true,
"propertyNames": {
"type": "string",
"enum": [
"kind",
"routeId",
"request"
]
}
}
]
}
},
"required": [
"workspaceId",
"action"
],
"patternProperties": {
"^(?!(?:workspaceId|action)$)[\\s\\S]*$": false
},
"additionalProperties": true,
"propertyNames": {
"type": "string",
"enum": [
"workspaceId",
"action"
]
},
"$defs": {
"DomainName": {
"type": "string",
"minLength": 1,
"maxLength": 253,
"pattern": "^(?=.{1,253}$)(?:[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?\\.)+[a-zA-Z]{2,63}$"
}
}
}
```
### Output schema (structuredContent)
```json
{
"$defs": {
"DomainName": {
"type": "string",
"minLength": 1,
"maxLength": 253,
"pattern": "^(?=.{1,253}$)(?:[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?\\.)+[a-zA-Z]{2,63}$"
}
},
"type": "object",
"anyOf": [
{
"allOf": [
{
"anyOf": [
{
"type": "object",
"properties": {
"routes": {
"type": "array",
"items": {
"type": "object",
"properties": {
"id": {
"type": "string",
"pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|[fF]{8}-[fF]{4}-[fF]{4}-[fF]{4}-[fF]{12})$",
"format": "uuid"
},
"hostname": {
"$ref": "#/$defs/DomainName"
},
"provider": {
"type": "string",
"enum": [
"aws_cloudfront"
]
},
"mode": {
"type": "string",
"enum": [
"redirect",
"proxy"
]
},
"target": {
"type": "string"
},
"pathMode": {
"type": "string",
"enum": [
"preserve",
"prefix"
]
},
"desiredRevision": {
"type": "integer",
"minimum": 0,
"maximum": 9007199254740991
},
"desiredState": {
"type": "string",
"enum": [
"enabled",
"retired"
]
},
"activeProvider": {
"anyOf": [
{
"type": "string",
"enum": [
"aws_cloudfront"
]
},
{
"type": "null"
}
]
},
"activeRevision": {
"anyOf": [
{
"type": "integer",
"minimum": 0,
"maximum": 9007199254740991
},
{
"type": "null"
}
]
},
"activeMode": {
"anyOf": [
{
"type": "string",
"enum": [
"redirect",
"proxy"
]
},
{
"type": "null"
}
]
},
"activeTarget": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
]
},
"phase": {
"type": "string",
"enum": [
"not_configured",
"waiting_dns",
"waiting_tls",
"waiting_publication",
"active",
"degraded",
"retired",
"needs_attention"
]
},
"reason": {
"anyOf": [
{
"type": "string",
"enum": [
"ownership_required",
"certificate_pending",
"certificate_failed",
"route_pending",
"dns_pending",
"health_mismatch",
"origin_unavailable",
"origin_redirects",
"provider_unavailable",
"provider_drift",
"retiring",
"provider_managed_dns",
"deployment_unconfigured"
]
},
{
"type": "null"
}
]
},
"checkedAt": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
]
},
"ownershipRecord": {
"type": "object",
"properties": {
"name": {
"type": "string"
},
"type": {
"type": "string",
"enum": [
"TXT"
]
},
"value": {
"type": "string"
},
"removable": {
"anyOf": [
{
"type": "boolean"
},
{
"type": "null"
}
]
}
},
"required": [
"name",
"type",
"value"
],
"patternProperties": {
"^(?!(?:name|type|value|removable)$)[\\s\\S]*$": false
},
"additionalProperties": true,
"propertyNames": {
"type": "string",
"enum": [
"name",
"type",
"value",
"removable"
]
}
},
"validationRecords": {
"type": "array",
"items": {
"type": "object",
"properties": {
"name": {
"type": "string"
},
"type": {
"type": "string",
"enum": [
"CNAME"
]
},
"value": {
"type": "string"
}
},
"required": [
"name",
"type",
"value"
],
"patternProperties": {
"^(?!(?:name|type|value)$)[\\s\\S]*$": false
},
"additionalProperties": true,
"propertyNames": {
"type": "string",
"enum": [
"name",
"type",
"value"
]
}
}
},
"routingEndpoint": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
]
}
},
"required": [
"id",
"hostname",
"provider",
"mode",
"target",
"pathMode",
"desiredRevision",
"desiredState",
"activeProvider",
"activeRevision",
"activeMode",
"activeTarget",
"phase",
"reason",
"checkedAt",
"ownershipRecord",
"validationRecords",
"routingEndpoint"
],
"patternProperties": {
"^(?!(?:id|hostname|provider|mode|target|pathMode|desiredRevision|desiredState|activeProvider|activeRevision|activeMode|activeTarget|phase|reason|checkedAt|ownershipRecord|validationRecords|routingEndpoint)$)[\\s\\S]*$": false
},
"additionalProperties": true,
"propertyNames": {
"type": "string",
"enum": [
"id",
"hostname",
"provider",
"mode",
"target",
"pathMode",
"desiredRevision",
"desiredState",
"activeProvider",
"activeRevision",
"activeMode",
"activeTarget",
"phase",
"reason",
"checkedAt",
"ownershipRecord",
"validationRecords",
"routingEndpoint"
]
}
}
},
"truncated": {
"type": "boolean"
}
},
"required": [
"routes",
"truncated"
],
"patternProperties": {
"^(?!(?:routes|truncated)$)[\\s\\S]*$": false
},
"additionalProperties": true,
"propertyNames": {
"type": "string",
"enum": [
"routes",
"truncated"
]
}
},
{
"type": "object",
"properties": {
"route": {
"type": "object",
"properties": {
"id": {
"type": "string",
"pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|[fF]{8}-[fF]{4}-[fF]{4}-[fF]{4}-[fF]{12})$",
"format": "uuid"
},
"hostname": {
"$ref": "#/$defs/DomainName"
},
"provider": {
"type": "string",
"enum": [
"aws_cloudfront"
]
},
"mode": {
"type": "string",
"enum": [
"redirect",
"proxy"
]
},
"target": {
"type": "string"
},
"pathMode": {
"type": "string",
"enum": [
"preserve",
"prefix"
]
},
"desiredRevision": {
"type": "integer",
"minimum": 0,
"maximum": 9007199254740991
},
"desiredState": {
"type": "string",
"enum": [
"enabled",
"retired"
]
},
"activeProvider": {
"anyOf": [
{
"type": "string",
"enum": [
"aws_cloudfront"
]
},
{
"type": "null"
}
]
},
"activeRevision": {
"anyOf": [
{
"type": "integer",
"minimum": 0,
"maximum": 9007199254740991
},
{
"type": "null"
}
]
},
"activeMode": {
"anyOf": [
{
"type": "string",
"enum": [
"redirect",
"proxy"
]
},
{
"type": "null"
}
]
},
"activeTarget": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
]
},
"phase": {
"type": "string",
"enum": [
"not_configured",
"waiting_dns",
"waiting_tls",
"waiting_publication",
"active",
"degraded",
"retired",
"needs_attention"
]
},
"reason": {
"anyOf": [
{
"type": "string",
"enum": [
"ownership_required",
"certificate_pending",
"certificate_failed",
"route_pending",
"dns_pending",
"health_mismatch",
"origin_unavailable",
"origin_redirects",
"provider_unavailable",
"provider_drift",
"retiring",
"provider_managed_dns",
"deployment_unconfigured"
]
},
{
"type": "null"
}
]
},
"checkedAt": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
]
},
"ownershipRecord": {
"type": "object",
"properties": {
"name": {
"type": "string"
},
"type": {
"type": "string",
"enum": [
"TXT"
]
},
"value": {
"type": "string"
},
"removable": {
"anyOf": [
{
"type": "boolean"
},
{
"type": "null"
}
]
}
},
"required": [
"name",
"type",
"value"
],
"patternProperties": {
"^(?!(?:name|type|value|removable)$)[\\s\\S]*$": false
},
"additionalProperties": true,
"propertyNames": {
"type": "string",
"enum": [
"name",
"type",
"value",
"removable"
]
}
},
"validationRecords": {
"type": "array",
"items": {
"type": "object",
"properties": {
"name": {
"type": "string"
},
"type": {
"type": "string",
"enum": [
"CNAME"
]
},
"value": {
"type": "string"
}
},
"required": [
"name",
"type",
"value"
],
"patternProperties": {
"^(?!(?:name|type|value)$)[\\s\\S]*$": false
},
"additionalProperties": true,
"propertyNames": {
"type": "string",
"enum": [
"name",
"type",
"value"
]
}
}
},
"routingEndpoint": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
]
}
},
"required": [
"id",
"hostname",
"provider",
"mode",
"target",
"pathMode",
"desiredRevision",
"desiredState",
"activeProvider",
"activeRevision",
"activeMode",
"activeTarget",
"phase",
"reason",
"checkedAt",
"ownershipRecord",
"validationRecords",
"routingEndpoint"
],
"patternProperties": {
"^(?!(?:id|hostname|provider|mode|target|pathMode|desiredRevision|desiredState|activeProvider|activeRevision|activeMode|activeTarget|phase|reason|checkedAt|ownershipRecord|validationRecords|routingEndpoint)$)[\\s\\S]*$": false
},
"additionalProperties": true,
"propertyNames": {
"type": "string",
"enum": [
"id",
"hostname",
"provider",
"mode",
"target",
"pathMode",
"desiredRevision",
"desiredState",
"activeProvider",
"activeRevision",
"activeMode",
"activeTarget",
"phase",
"reason",
"checkedAt",
"ownershipRecord",
"validationRecords",
"routingEndpoint"
]
}
},
"history": {
"type": "array",
"items": {
"type": "object",
"properties": {
"id": {
"type": "string",
"pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|[fF]{8}-[fF]{4}-[fF]{4}-[fF]{4}-[fF]{12})$",
"format": "uuid"
},
"revision": {
"type": "integer",
"minimum": 0,
"maximum": 9007199254740991
},
"kind": {
"type": "string"
},
"status": {
"type": "string"
},
"reason": {
"anyOf": [
{
"type": "string",
"enum": [
"ownership_required",
"certificate_pending",
"certificate_failed",
"route_pending",
"dns_pending",
"health_mismatch",
"origin_unavailable",
"origin_redirects",
"provider_unavailable",
"provider_drift",
"retiring",
"provider_managed_dns",
"deployment_unconfigured"
]
},
{
"type": "null"
}
]
},
"occurredAt": {
"type": "string"
}
},
"required": [
"id",
"revision",
"kind",
"status",
"reason",
"occurredAt"
],
"patternProperties": {
"^(?!(?:id|revision|kind|status|reason|occurredAt)$)[\\s\\S]*$": false
},
"additionalProperties": true,
"propertyNames": {
"type": "string",
"enum": [
"id",
"revision",
"kind",
"status",
"reason",
"occurredAt"
]
}
}
}
},
"required": [
"route",
"history"
],
"patternProperties": {
"^(?!(?:route|history)$)[\\s\\S]*$": false
},
"additionalProperties": true,
"propertyNames": {
"type": "string",
"enum": [
"route",
"history"
]
}
},
{
"type": "object",
"properties": {
"id": {
"type": "string",
"pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|[fF]{8}-[fF]{4}-[fF]{4}-[fF]{4}-[fF]{12})$",
"format": "uuid"
},
"hostname": {
"$ref": "#/$defs/DomainName"
},
"provider": {
"type": "string",
"enum": [
"aws_cloudfront"
]
},
"mode": {
"type": "string",
"enum": [
"redirect",
"proxy"
]
},
"target": {
"type": "string"
},
"pathMode": {
"type": "string",
"enum": [
"preserve",
"prefix"
]
},
"desiredRevision": {
"type": "integer",
"minimum": 0,
"maximum": 9007199254740991
},
"desiredState": {
"type": "string",
"enum": [
"enabled",
"retired"
]
},
"activeProvider": {
"anyOf": [
{
"type": "string",
"enum": [
"aws_cloudfront"
]
},
{
"type": "null"
}
]
},
"activeRevision": {
"anyOf": [
{
"type": "integer",
"minimum": 0,
"maximum": 9007199254740991
},
{
"type": "null"
}
]
},
"activeMode": {
"anyOf": [
{
"type": "string",
"enum": [
"redirect",
"proxy"
]
},
{
"type": "null"
}
]
},
"activeTarget": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
]
},
"phase": {
"type": "string",
"enum": [
"not_configured",
"waiting_dns",
"waiting_tls",
"waiting_publication",
"active",
"degraded",
"retired",
"needs_attention"
]
},
"reason": {
"anyOf": [
{
"type": "string",
"enum": [
"ownership_required",
"certificate_pending",
"certificate_failed",
"route_pending",
"dns_pending",
"health_mismatch",
"origin_unavailable",
"origin_redirects",
"provider_unavailable",
"provider_drift",
"retiring",
"provider_managed_dns",
"deployment_unconfigured"
]
},
{
"type": "null"
}
]
},
"checkedAt": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
]
},
"ownershipRecord": {
"type": "object",
"properties": {
"name": {
"type": "string"
},
"type": {
"type": "string",
"enum": [
"TXT"
]
},
"value": {
"type": "string"
},
"removable": {
"anyOf": [
{
"type": "boolean"
},
{
"type": "null"
}
]
}
},
"required": [
"name",
"type",
"value"
],
"patternProperties": {
"^(?!(?:name|type|value|removable)$)[\\s\\S]*$": false
},
"additionalProperties": true,
"propertyNames": {
"type": "string",
"enum": [
"name",
"type",
"value",
"removable"
]
}
},
"validationRecords": {
"type": "array",
"items": {
"type": "object",
"properties": {
"name": {
"type": "string"
},
"type": {
"type": "string",
"enum": [
"CNAME"
]
},
"value": {
"type": "string"
}
},
"required": [
"name",
"type",
"value"
],
"patternProperties": {
"^(?!(?:name|type|value)$)[\\s\\S]*$": false
},
"additionalProperties": true,
"propertyNames": {
"type": "string",
"enum": [
"name",
"type",
"value"
]
}
}
},
"routingEndpoint": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
]
}
},
"required": [
"id",
"hostname",
"provider",
"mode",
"target",
"pathMode",
"desiredRevision",
"desiredState",
"activeProvider",
"activeRevision",
"activeMode",
"activeTarget",
"phase",
"reason",
"checkedAt",
"ownershipRecord",
"validationRecords",
"routingEndpoint"
],
"patternProperties": {
"^(?!(?:id|hostname|provider|mode|target|pathMode|desiredRevision|desiredState|activeProvider|activeRevision|activeMode|activeTarget|phase|reason|checkedAt|ownershipRecord|validationRecords|routingEndpoint)$)[\\s\\S]*$": false
},
"additionalProperties": true,
"propertyNames": {
"type": "string",
"enum": [
"id",
"hostname",
"provider",
"mode",
"target",
"pathMode",
"desiredRevision",
"desiredState",
"activeProvider",
"activeRevision",
"activeMode",
"activeTarget",
"phase",
"reason",
"checkedAt",
"ownershipRecord",
"validationRecords",
"routingEndpoint"
]
}
}
]
},
{
"type": "object"
}
]
},
{
"type": "object",
"properties": {
"data": {
"allOf": [
{
"anyOf": [
{
"type": "object",
"properties": {
"routes": {
"type": "array",
"items": {
"type": "object",
"properties": {
"id": {
"type": "string",
"pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|[fF]{8}-[fF]{4}-[fF]{4}-[fF]{4}-[fF]{12})$",
"format": "uuid"
},
"hostname": {
"$ref": "#/$defs/DomainName"
},
"provider": {
"type": "string",
"enum": [
"aws_cloudfront"
]
},
"mode": {
"type": "string",
"enum": [
"redirect",
"proxy"
]
},
"target": {
"type": "string"
},
"pathMode": {
"type": "string",
"enum": [
"preserve",
"prefix"
]
},
"desiredRevision": {
"type": "integer",
"minimum": 0,
"maximum": 9007199254740991
},
"desiredState": {
"type": "string",
"enum": [
"enabled",
"retired"
]
},
"activeProvider": {
"anyOf": [
{
"type": "string",
"enum": [
"aws_cloudfront"
]
},
{
"type": "null"
}
]
},
"activeRevision": {
"anyOf": [
{
"type": "integer",
"minimum": 0,
"maximum": 9007199254740991
},
{
"type": "null"
}
]
},
"activeMode": {
"anyOf": [
{
"type": "string",
"enum": [
"redirect",
"proxy"
]
},
{
"type": "null"
}
]
},
"activeTarget": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
]
},
"phase": {
"type": "string",
"enum": [
"not_configured",
"waiting_dns",
"waiting_tls",
"waiting_publication",
"active",
"degraded",
"retired",
"needs_attention"
]
},
"reason": {
"anyOf": [
{
"type": "string",
"enum": [
"ownership_required",
"certificate_pending",
"certificate_failed",
"route_pending",
"dns_pending",
"health_mismatch",
"origin_unavailable",
"origin_redirects",
"provider_unavailable",
"provider_drift",
"retiring",
"provider_managed_dns",
"deployment_unconfigured"
]
},
{
"type": "null"
}
]
},
"checkedAt": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
]
},
"ownershipRecord": {
"type": "object",
"properties": {
"name": {
"type": "string"
},
"type": {
"type": "string",
"enum": [
"TXT"
]
},
"value": {
"type": "string"
},
"removable": {
"anyOf": [
{
"type": "boolean"
},
{
"type": "null"
}
]
}
},
"required": [
"name",
"type",
"value"
],
"patternProperties": {
"^(?!(?:name|type|value|removable)$)[\\s\\S]*$": false
},
"additionalProperties": true,
"propertyNames": {
"type": "string",
"enum": [
"name",
"type",
"value",
"removable"
]
}
},
"validationRecords": {
"type": "array",
"items": {
"type": "object",
"properties": {
"name": {
"type": "string"
},
"type": {
"type": "string",
"enum": [
"CNAME"
]
},
"value": {
"type": "string"
}
},
"required": [
"name",
"type",
"value"
],
"patternProperties": {
"^(?!(?:name|type|value)$)[\\s\\S]*$": false
},
"additionalProperties": true,
"propertyNames": {
"type": "string",
"enum": [
"name",
"type",
"value"
]
}
}
},
"routingEndpoint": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
]
}
},
"required": [
"id",
"hostname",
"provider",
"mode",
"target",
"pathMode",
"desiredRevision",
"desiredState",
"activeProvider",
"activeRevision",
"activeMode",
"activeTarget",
"phase",
"reason",
"checkedAt",
"ownershipRecord",
"validationRecords",
"routingEndpoint"
],
"patternProperties": {
"^(?!(?:id|hostname|provider|mode|target|pathMode|desiredRevision|desiredState|activeProvider|activeRevision|activeMode|activeTarget|phase|reason|checkedAt|ownershipRecord|validationRecords|routingEndpoint)$)[\\s\\S]*$": false
},
"additionalProperties": true,
"propertyNames": {
"type": "string",
"enum": [
"id",
"hostname",
"provider",
"mode",
"target",
"pathMode",
"desiredRevision",
"desiredState",
"activeProvider",
"activeRevision",
"activeMode",
"activeTarget",
"phase",
"reason",
"checkedAt",
"ownershipRecord",
"validationRecords",
"routingEndpoint"
]
}
}
},
"truncated": {
"type": "boolean"
}
},
"required": [
"routes",
"truncated"
],
"patternProperties": {
"^(?!(?:routes|truncated)$)[\\s\\S]*$": false
},
"additionalProperties": true,
"propertyNames": {
"type": "string",
"enum": [
"routes",
"truncated"
]
}
},
{
"type": "object",
"properties": {
"route": {
"type": "object",
"properties": {
"id": {
"type": "string",
"pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|[fF]{8}-[fF]{4}-[fF]{4}-[fF]{4}-[fF]{12})$",
"format": "uuid"
},
"hostname": {
"$ref": "#/$defs/DomainName"
},
"provider": {
"type": "string",
"enum": [
"aws_cloudfront"
]
},
"mode": {
"type": "string",
"enum": [
"redirect",
"proxy"
]
},
"target": {
"type": "string"
},
"pathMode": {
"type": "string",
"enum": [
"preserve",
"prefix"
]
},
"desiredRevision": {
"type": "integer",
"minimum": 0,
"maximum": 9007199254740991
},
"desiredState": {
"type": "string",
"enum": [
"enabled",
"retired"
]
},
"activeProvider": {
"anyOf": [
{
"type": "string",
"enum": [
"aws_cloudfront"
]
},
{
"type": "null"
}
]
},
"activeRevision": {
"anyOf": [
{
"type": "integer",
"minimum": 0,
"maximum": 9007199254740991
},
{
"type": "null"
}
]
},
"activeMode": {
"anyOf": [
{
"type": "string",
"enum": [
"redirect",
"proxy"
]
},
{
"type": "null"
}
]
},
"activeTarget": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
]
},
"phase": {
"type": "string",
"enum": [
"not_configured",
"waiting_dns",
"waiting_tls",
"waiting_publication",
"active",
"degraded",
"retired",
"needs_attention"
]
},
"reason": {
"anyOf": [
{
"type": "string",
"enum": [
"ownership_required",
"certificate_pending",
"certificate_failed",
"route_pending",
"dns_pending",
"health_mismatch",
"origin_unavailable",
"origin_redirects",
"provider_unavailable",
"provider_drift",
"retiring",
"provider_managed_dns",
"deployment_unconfigured"
]
},
{
"type": "null"
}
]
},
"checkedAt": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
]
},
"ownershipRecord": {
"type": "object",
"properties": {
"name": {
"type": "string"
},
"type": {
"type": "string",
"enum": [
"TXT"
]
},
"value": {
"type": "string"
},
"removable": {
"anyOf": [
{
"type": "boolean"
},
{
"type": "null"
}
]
}
},
"required": [
"name",
"type",
"value"
],
"patternProperties": {
"^(?!(?:name|type|value|removable)$)[\\s\\S]*$": false
},
"additionalProperties": true,
"propertyNames": {
"type": "string",
"enum": [
"name",
"type",
"value",
"removable"
]
}
},
"validationRecords": {
"type": "array",
"items": {
"type": "object",
"properties": {
"name": {
"type": "string"
},
"type": {
"type": "string",
"enum": [
"CNAME"
]
},
"value": {
"type": "string"
}
},
"required": [
"name",
"type",
"value"
],
"patternProperties": {
"^(?!(?:name|type|value)$)[\\s\\S]*$": false
},
"additionalProperties": true,
"propertyNames": {
"type": "string",
"enum": [
"name",
"type",
"value"
]
}
}
},
"routingEndpoint": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
]
}
},
"required": [
"id",
"hostname",
"provider",
"mode",
"target",
"pathMode",
"desiredRevision",
"desiredState",
"activeProvider",
"activeRevision",
"activeMode",
"activeTarget",
"phase",
"reason",
"checkedAt",
"ownershipRecord",
"validationRecords",
"routingEndpoint"
],
"patternProperties": {
"^(?!(?:id|hostname|provider|mode|target|pathMode|desiredRevision|desiredState|activeProvider|activeRevision|activeMode|activeTarget|phase|reason|checkedAt|ownershipRecord|validationRecords|routingEndpoint)$)[\\s\\S]*$": false
},
"additionalProperties": true,
"propertyNames": {
"type": "string",
"enum": [
"id",
"hostname",
"provider",
"mode",
"target",
"pathMode",
"desiredRevision",
"desiredState",
"activeProvider",
"activeRevision",
"activeMode",
"activeTarget",
"phase",
"reason",
"checkedAt",
"ownershipRecord",
"validationRecords",
"routingEndpoint"
]
}
},
"history": {
"type": "array",
"items": {
"type": "object",
"properties": {
"id": {
"type": "string",
"pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|[fF]{8}-[fF]{4}-[fF]{4}-[fF]{4}-[fF]{12})$",
"format": "uuid"
},
"revision": {
"type": "integer",
"minimum": 0,
"maximum": 9007199254740991
},
"kind": {
"type": "string"
},
"status": {
"type": "string"
},
"reason": {
"anyOf": [
{
"type": "string",
"enum": [
"ownership_required",
"certificate_pending",
"certificate_failed",
"route_pending",
"dns_pending",
"health_mismatch",
"origin_unavailable",
"origin_redirects",
"provider_unavailable",
"provider_drift",
"retiring",
"provider_managed_dns",
"deployment_unconfigured"
]
},
{
"type": "null"
}
]
},
"occurredAt": {
"type": "string"
}
},
"required": [
"id",
"revision",
"kind",
"status",
"reason",
"occurredAt"
],
"patternProperties": {
"^(?!(?:id|revision|kind|status|reason|occurredAt)$)[\\s\\S]*$": false
},
"additionalProperties": true,
"propertyNames": {
"type": "string",
"enum": [
"id",
"revision",
"kind",
"status",
"reason",
"occurredAt"
]
}
}
}
},
"required": [
"route",
"history"
],
"patternProperties": {
"^(?!(?:route|history)$)[\\s\\S]*$": false
},
"additionalProperties": true,
"propertyNames": {
"type": "string",
"enum": [
"route",
"history"
]
}
},
{
"type": "object",
"properties": {
"id": {
"type": "string",
"pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|[fF]{8}-[fF]{4}-[fF]{4}-[fF]{4}-[fF]{12})$",
"format": "uuid"
},
"hostname": {
"$ref": "#/$defs/DomainName"
},
"provider": {
"type": "string",
"enum": [
"aws_cloudfront"
]
},
"mode": {
"type": "string",
"enum": [
"redirect",
"proxy"
]
},
"target": {
"type": "string"
},
"pathMode": {
"type": "string",
"enum": [
"preserve",
"prefix"
]
},
"desiredRevision": {
"type": "integer",
"minimum": 0,
"maximum": 9007199254740991
},
"desiredState": {
"type": "string",
"enum": [
"enabled",
"retired"
]
},
"activeProvider": {
"anyOf": [
{
"type": "string",
"enum": [
"aws_cloudfront"
]
},
{
"type": "null"
}
]
},
"activeRevision": {
"anyOf": [
{
"type": "integer",
"minimum": 0,
"maximum": 9007199254740991
},
{
"type": "null"
}
]
},
"activeMode": {
"anyOf": [
{
"type": "string",
"enum": [
"redirect",
"proxy"
]
},
{
"type": "null"
}
]
},
"activeTarget": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
]
},
"phase": {
"type": "string",
"enum": [
"not_configured",
"waiting_dns",
"waiting_tls",
"waiting_publication",
"active",
"degraded",
"retired",
"needs_attention"
]
},
"reason": {
"anyOf": [
{
"type": "string",
"enum": [
"ownership_required",
"certificate_pending",
"certificate_failed",
"route_pending",
"dns_pending",
"health_mismatch",
"origin_unavailable",
"origin_redirects",
"provider_unavailable",
"provider_drift",
"retiring",
"provider_managed_dns",
"deployment_unconfigured"
]
},
{
"type": "null"
}
]
},
"checkedAt": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
]
},
"ownershipRecord": {
"type": "object",
"properties": {
"name": {
"type": "string"
},
"type": {
"type": "string",
"enum": [
"TXT"
]
},
"value": {
"type": "string"
},
"removable": {
"anyOf": [
{
"type": "boolean"
},
{
"type": "null"
}
]
}
},
"required": [
"name",
"type",
"value"
],
"patternProperties": {
"^(?!(?:name|type|value|removable)$)[\\s\\S]*$": false
},
"additionalProperties": true,
"propertyNames": {
"type": "string",
"enum": [
"name",
"type",
"value",
"removable"
]
}
},
"validationRecords": {
"type": "array",
"items": {
"type": "object",
"properties": {
"name": {
"type": "string"
},
"type": {
"type": "string",
"enum": [
"CNAME"
]
},
"value": {
"type": "string"
}
},
"required": [
"name",
"type",
"value"
],
"patternProperties": {
"^(?!(?:name|type|value)$)[\\s\\S]*$": false
},
"additionalProperties": true,
"propertyNames": {
"type": "string",
"enum": [
"name",
"type",
"value"
]
}
}
},
"routingEndpoint": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
]
}
},
"required": [
"id",
"hostname",
"provider",
"mode",
"target",
"pathMode",
"desiredRevision",
"desiredState",
"activeProvider",
"activeRevision",
"activeMode",
"activeTarget",
"phase",
"reason",
"checkedAt",
"ownershipRecord",
"validationRecords",
"routingEndpoint"
],
"patternProperties": {
"^(?!(?:id|hostname|provider|mode|target|pathMode|desiredRevision|desiredState|activeProvider|activeRevision|activeMode|activeTarget|phase|reason|checkedAt|ownershipRecord|validationRecords|routingEndpoint)$)[\\s\\S]*$": false
},
"additionalProperties": true,
"propertyNames": {
"type": "string",
"enum": [
"id",
"hostname",
"provider",
"mode",
"target",
"pathMode",
"desiredRevision",
"desiredState",
"activeProvider",
"activeRevision",
"activeMode",
"activeTarget",
"phase",
"reason",
"checkedAt",
"ownershipRecord",
"validationRecords",
"routingEndpoint"
]
}
}
]
},
{
"not": {
"type": "object"
}
}
]
}
},
"required": [
"data"
],
"additionalProperties": false
}
]
}
```
### Underlying API operations
- `websiteRoutes.list`: `GET /v1/workspaces/:workspaceId/domains/website-routes`
- `websiteRoutes.get`: `GET /v1/workspaces/:workspaceId/domains/website-routes/:routeId`
- `websiteRoutes.create`: `POST /v1/workspaces/:workspaceId/domains/website-routes`
- `websiteRoutes.save`: `PUT /v1/workspaces/:workspaceId/domains/website-routes/:routeId`
- `websiteRoutes.check`: `POST /v1/workspaces/:workspaceId/domains/website-routes/:routeId/check`