Skip to content
HelicarrierDevelopers

Add domain

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

POST/api/services/{id}/domainsHTTPS
Request & response examples
Request exampleServer-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 example201
{
"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

idstringrequired

Service id.

Request body

hostnamestringrequired

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.

idstring

Unique identifier of this resource.

serviceIdstring
hostnamestring

Hostname assigned or attached to the service.

statusstring

Current state of the resource or operation.

portinteger

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