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
idstringrequiredService id.
Request body
portstringrequiredThe container port the app listens on, e.g. 9090.
labelstringrequiredShort name for the port; becomes part of its hostname (lowercase letters, numbers, hyphens), e.g. "ws" or "metrics".
deploystringoptionalRedeploy 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.
portintegerPort number for the resource.
labelstringHuman-readable label.
hostnamestringHostname assigned or attached to the service.
Errors
400Invalid parameters. Check the required fields, types, and resource configuration.
401The API key is missing, invalid, or revoked.
403The caller or key scope does not permit this operation.
409The current resource state prevents the operation. Inspect it before retrying.
500The 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.