Payload schema
Cloudflare's custom-hostname id; null before the create call succeeded.
The newest provisioning/validation error Cloudflare reported, if any.
The custom hostname this snapshot describes.
Cloudflare's raw hostname status (pending, active, …); null when unknown.
The DNS TXT record the owner must create to prove control; null once verified.
TXT record name proving hostname ownership.
TXT record value proving hostname ownership.
Cloudflare's raw certificate status; null when unknown.
Our rollup of the raw statuses: what the dashboard shows and routing acts on. Only `active` routes traffic.
DNS records the owner still has to create for certificate validation.
TXT record name for certificate validation.
Cloudflare's per-record validation status; null when unknown.
TXT record value for certificate validation.
Whether the certificate also covers *.<hostname> (we always request it).
Raw JSON schema
{
"$schema": "https://json-schema.org/draft/2020-12/schema",
"type": "object",
"properties": {
"cloudflareHostnameId": {
"default": null,
"description": "Cloudflare's custom-hostname id; null before the create call succeeded.",
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
]
},
"error": {
"default": null,
"description": "The newest provisioning/validation error Cloudflare reported, if any.",
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
]
},
"hostname": {
"type": "string",
"description": "The custom hostname this snapshot describes."
},
"hostnameStatus": {
"default": null,
"description": "Cloudflare's raw hostname status (pending, active, …); null when unknown.",
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
]
},
"ownershipVerification": {
"default": null,
"description": "The DNS TXT record the owner must create to prove control; null once verified.",
"anyOf": [
{
"type": "object",
"properties": {
"name": {
"type": "string",
"description": "TXT record name proving hostname ownership."
},
"value": {
"type": "string",
"description": "TXT record value proving hostname ownership."
}
},
"required": [
"name",
"value"
]
},
{
"type": "null"
}
]
},
"sslStatus": {
"default": null,
"description": "Cloudflare's raw certificate status; null when unknown.",
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
]
},
"status": {
"type": "string",
"enum": [
"requested",
"provisioning",
"pending_validation",
"active",
"failed",
"removing"
],
"description": "Our rollup of the raw statuses: what the dashboard shows and routing acts on. Only `active` routes traffic."
},
"validationRecords": {
"default": [],
"description": "DNS records the owner still has to create for certificate validation.",
"type": "array",
"items": {
"type": "object",
"properties": {
"name": {
"type": "string",
"description": "TXT record name for certificate validation."
},
"status": {
"default": null,
"description": "Cloudflare's per-record validation status; null when unknown.",
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
]
},
"value": {
"type": "string",
"description": "TXT record value for certificate validation."
}
},
"required": [
"name",
"value"
]
}
},
"wildcard": {
"default": true,
"description": "Whether the certificate also covers *.<hostname> (we always request it).",
"type": "boolean"
}
},
"required": [
"hostname",
"status"
]
}