Skip to content
Helicarrier Developers

Expose port

Expose an additional HTTP port and create a generated hostname for it.

POST /api/services/{id}/ports HTTPS
Request & response examples
Request example Server-side
curl --fail-with-body --request POST \
'https://app.helicarrier.xyz/api/services/YOUR_ID/ports' \
-H "Authorization: Bearer $HELI_API_KEY" \
-H 'Content-Type: application/json' \
--data '{
"port": "YOUR_PORT",
"label": "YOUR_LABEL"
}'
Response example 201
{
"port": 8080,
"label": "admin",
"hostname": "YOUR_PORT_HOSTNAME"
}

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

port string required

The container port the app listens on, e.g. 9090.

label string required

Short name for the port; becomes part of its hostname (lowercase letters, numbers, hyphens), e.g. "ws" or "metrics".

deploy string optional

Redeploy now so the port starts serving immediately (recommended).

Response 201

Returns the exposed port and generated hostname. Port mappings apply when the service is redeployed.

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

port integer

Port number for the resource.

label string

Human-readable label.

hostname string

Hostname assigned or attached to the service.

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

expose_port

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

Connect your agent ↗