Expose port
Expose an additional HTTP port and create a generated hostname for it.
Request & response examples
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"}'const response = await fetch( "https://app.helicarrier.xyz/api/services/YOUR_ID/ports", { method: "POST", headers: { Authorization: `Bearer ${process.env.HELI_API_KEY}`, "Content-Type": "application/json" }, body: JSON.stringify({ "port": "YOUR_PORT", "label": "YOUR_LABEL" }) });const data = await response.json();if (!response.ok) { throw new Error(`HTTP ${response.status}: ${data.error}`);}// Inspect data; avoid logging secret responses.import osimport requests
response = requests.request( "POST", "https://app.helicarrier.xyz/api/services/YOUR_ID/ports", headers={ "Authorization": f"Bearer {os.environ['HELI_API_KEY']}" }, json={ "port": "YOUR_PORT", "label": "YOUR_LABEL" }, timeout=30,)response.raise_for_status()data = response.json()# Inspect data; avoid logging secret responses.{ "port": 8080, "label": "admin", "hostname": "YOUR_PORT_HOSTNAME"}Illustrative values · selected fields
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.
expose_port
Required MCP arguments: id, port, label. Send path, query,
and body fields together as tool arguments.