Skip to content

Preview the domains a new route would create

POST
/api/proxy-hosts/missing-domains
curl --request POST \
--url https://opfield.example.com/api/proxy-hosts/missing-domains \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '{ "domainNames": [ "example" ], "folderId": "2489E9AD-2EE2-8E00-8EC9-32D5F69181C0", "nodeId": "2489E9AD-2EE2-8E00-8EC9-32D5F69181C0", "ingressGroupId": "2489E9AD-2EE2-8E00-8EC9-32D5F69181C0" }'

For a route about to be created (domainNames, folderId, nodeId or ingressGroupId; without both, the node a create would pick): each hostname no registered domain covers, with status create (zoneName: the Cloudflare zone the domain would be created in) or unavailable (code and reason: no domains:create there, no Cloudflare zone, not allowed by the app environment domain allowlist, not a registrable name). Covered hostnames are left out. Needs any proxy:create grant.

JSON request body

Media typeapplication/json
object
domainNames
required
Array<string>
>= 1 items <= 100 items
folderId
string format: uuid
nodeId
string format: uuid
ingressGroupId
string format: uuid
Examplegenerated
{
"domainNames": [
"example"
],
"folderId": "2489E9AD-2EE2-8E00-8EC9-32D5F69181C0",
"nodeId": "2489E9AD-2EE2-8E00-8EC9-32D5F69181C0",
"ingressGroupId": "2489E9AD-2EE2-8E00-8EC9-32D5F69181C0"
}

Successful response

Media typeapplication/json
object
data
required

Resource object. Exact fields depend on the endpoint.

object
id
string
name
string
key
additional properties
Example
{
"data": {
"id": "550e8400-e29b-41d4-a716-446655440000",
"domainNames": [
"app.example.com"
],
"forwardHost": "10.0.0.10",
"forwardPort": 3000,
"enabled": true
}
}

Bad request

Media typeapplication/json
object
code
required

Error code

string
message
required

Human-readable error message

string
details

Additional error details

Example
{
"code": "VALIDATION_ERROR",
"message": "Request validation failed",
"details": [
{
"path": [
"name"
],
"message": "Required"
}
]
}

Authentication required

Media typeapplication/json
object
code
required

Error code

string
message
required

Human-readable error message

string
details

Additional error details

Example
{
"code": "UNAUTHORIZED",
"message": "Authentication required"
}

Forbidden

Media typeapplication/json
object
code
required

Error code

string
message
required

Human-readable error message

string
details

Additional error details

Example
{
"code": "FORBIDDEN",
"message": "Insufficient permissions"
}

Not found

Media typeapplication/json
object
code
required

Error code

string
message
required

Human-readable error message

string
details

Additional error details

Example
{
"code": "NOT_FOUND",
"message": "Resource not found"
}

Conflict

Media typeapplication/json
object
code
required

Error code

string
message
required

Human-readable error message

string
details

Additional error details

Example
{
"code": "CONFLICT",
"message": "Resource already exists"
}

Unprocessable entity

Media typeapplication/json
object
code
required

Error code

string
message
required

Human-readable error message

string
details

Additional error details

Example
{
"code": "UNPROCESSABLE_ENTITY",
"message": "Request could not be processed"
}

Internal server error

Media typeapplication/json
object
code
required

Error code

string
message
required

Human-readable error message

string
details

Additional error details

Example
{
"code": "INTERNAL_ERROR",
"message": "Internal server error"
}