Skip to content
Helicarrier Developers

Add domain

Attach a custom domain to a service, then configure DNS to complete verification.

POST /api/services/{id}/domains HTTPS
Request & response examples
Request example Server-side
curl --fail-with-body --request POST \
'https://app.helicarrier.xyz/api/services/YOUR_ID/domains' \
-H "Authorization: Bearer $HELI_API_KEY" \
-H 'Content-Type: application/json' \
--data '{
"hostname": "app.example.com"
}'
Response example 201
{
"id": "dom_example",
"serviceId": "svc_example",
"hostname": "app.example.com",
"status": "pending",
"port": 0
}

Illustrative values · selected fields

Authorization

An account key with access, or a project/service key with domains:write. The resource must be within the key’s project, service, and environment scope.

Authorization: Bearer <key> Key setup ↗

Path parameters

id string required

Service id.

Request body

hostname string required

Custom hostname, e.g. app.example.com.

Response 201

Returns the new domain record with pending status. Configure the DNS target and finish verification in the dashboard.

Examples show selected response fields with illustrative values. Your response can contain additional fields.

id string

Unique identifier of this resource.

serviceId string
hostname string

Hostname assigned or attached to the service.

status string

Current state of the resource or operation.

port integer

Port number for the resource.

Errors

400

Invalid parameters. Check the required fields, types, and resource configuration.

401

The API key is missing, invalid, or revoked.

403

The caller or key scope does not permit this operation.

409

The current resource state prevents the operation. Inspect it before retrying.

500

The operation could not be completed. Check resource state before retrying a write.

Error handling and safe retries
ALSO AVAILABLE VIA MCP

add_domain

Required MCP arguments: id, hostname. Send path, query, and body fields together as tool arguments.

Connect your agent ↗