Api referenceTopicPublicationDomains

Add a publication domain (Preview)

Preview · Available to selected organizations. Claims a hostname for an opt-in topic with its public archive enabled and published.

POST
/v1/topics/{id}/publication/domains

Claims a hostname for an opt-in topic with its public archive enabled and published. Requires issueWeb. Reuse the UUID idempotencyKey when retrying. The hostname serves no publication until Cloudflare confirms both ownership and SSL are active.

x-api-key<token>

In: header

Path Parameters

id*string
Match^unsub_[0-9a-hjkmnp-tv-z]{16,24}$

Request Body

application/json

TypeScript Definitions

Use the request body type in TypeScript.

hostname*string
Match^(?:[a-z0-9](?:[a-z0-9-]{0,61}[a-z0-9])?\.)+[a-z](?:[a-z0-9-]{0,61}[a-z0-9])?$
Lengthlength <= 253
idempotencyKey*string
Match^([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})$
Formatuuid

Response Body

application/json

application/json

application/json

application/json

application/json

application/json

application/json

application/json

curl -X POST "https://example.com/v1/topics/string/publication/domains" \  -H "Content-Type: application/json" \  -d '{    "hostname": "string",    "idempotencyKey": "0c14c6a6-6f50-4d1e-b0c4-b46ff43ba6a1"  }'
{  "organizationId": "string",  "topicId": "string",  "hostname": "string",  "canonicalHostname": "string",  "phase": "pending",  "active": true,  "hostnameStatus": "string",  "sslStatus": "string",  "cname": {    "type": "CNAME",    "name": "string",    "value": "string"  },  "verificationRecords": [    {      "type": "CNAME",      "name": "string",      "value": "string"    }  ],  "verificationErrors": [    "string"  ]}