Get project
Read a project and its services in one environment. Select an environment explicitly when automating a workflow.
Request & response examples
curl --fail-with-body --request GET \ 'https://app.helicarrier.xyz/api/projects/my-project?env=staging' \ -H "Authorization: Bearer $HELI_API_KEY"const response = await fetch( "https://app.helicarrier.xyz/api/projects/my-project?env=staging", { method: "GET", headers: { Authorization: `Bearer ${process.env.HELI_API_KEY}` } });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( "GET", "https://app.helicarrier.xyz/api/projects/my-project?env=staging", headers={ "Authorization": f"Bearer {os.environ['HELI_API_KEY']}" }, timeout=30,)response.raise_for_status()data = response.json()# Inspect data; avoid logging secret responses.{ "project": { "id": "prj_example", "name": "My project", "slug": "my-project", "description": "" }, "services": [ { "id": "svc_example", "name": "my-app", "slug": "my-app", "sourceType": "image", "status": "running", "planKey": "heli-s1", "projectId": "prj_example", "environmentId": "env_example" } ], "environments": [ { "id": "env_example", "projectId": "prj_example", "name": "Staging", "slug": "staging", "isDefault": false } ], "environment": { "id": "env_example", "projectId": "prj_example", "name": "Staging", "slug": "staging", "isDefault": false }}Illustrative values · selected fields
Path parameters
slug string required Project slug.
Query parameters
env string optional Environment slug (e.g. dev, staging, production) whose services to return. Omit for the project's default environment — which is why a service you expect to see can be missing: it lives in another environment.
Response 200
Returns a project with the services for one environment. Omit env to use the default environment. A service in another environment will not appear in this result.
Examples show selected response fields with illustrative values. Your response can contain additional fields.
project object Project metadata.
Child fields
-
idstringUnique identifier of this resource.
-
namestringHuman-readable resource name.
-
slugstringURL-safe resource identifier.
-
descriptionstringDescription of the resource or capability.
services array Services in the selected environment, or type previews in a project listing.
Child fields
-
idstringUnique identifier of this resource.
-
namestringHuman-readable resource name.
-
slugstringURL-safe resource identifier.
-
sourceTypestringSource used to build or run the service.
-
statusstringCurrent state of the resource or operation.
-
planKeystringPlan identifier from the plan catalog.
-
projectIdstringProject that owns the resource.
-
environmentIdstringEnvironment that contains the service.
environments array Environments visible to the caller.
Child fields
-
idstringUnique identifier of this resource.
-
projectIdstringProject that owns the resource.
-
namestringHuman-readable resource name.
-
slugstringURL-safe resource identifier.
-
isDefaultboolean
environment object Environment selected for this response.
Child fields
-
idstringUnique identifier of this resource.
-
projectIdstringProject that owns the resource.
-
namestringHuman-readable resource name.
-
slugstringURL-safe resource identifier.
-
isDefaultboolean
Errors
401 The API key is missing, invalid, or revoked.
403 The caller or key scope does not permit this operation.
404 The resource does not exist or is not visible to this caller.
500 The operation could not be completed. Check resource state before retrying a write.
get_project
Required MCP arguments: slug. Send path, query,
and body fields together as tool arguments.