Skip to content

API

The Helio-Additive GraphQL API offers flexibility and the ability to define precisely the data you want to fetch. The SDK's we offer utilize the API listed below in order to get started quickly, for languages we don't support the API documentation listed below can be utilized to create your own way to interact with our services.

The endpoint for requests is https://api.helioadditive.com/graphql

All requests should return a Trace-Id header, which can be used in corespondance with us to identify any problems that may have occured.

GraphQL requests are regular JSON requests with two keys:
{
"query": "query Materials($pageSize: Int) { materials(pageSize: $pageSize) { id name } }",
"variables": {"pageSize": 20}
}
The query key is a single string of graphql syntax indicating what data to fetch, and the variables key is a map of any arguments needed by the query.

GraphQL has a strong type system, as such in almost all languages there exists strong support for automatically generating code for all types & request serialization/deserialization. You simply define a set of .graphql files, generate the code, and interact with our services as if it was part of the application itself.

We have a public repository on Github with code examples listing materials & printers, uploading a G-Code and triggering a simulation for the following languages: Python, C++ & Typescript. Requests to our API should always return a Trace-ID header, please include this trace ID in any correspondance with us so that we may further assist you with any issues you may encounter.

The query type defines GraphQL operations that retrieve data from the server.

Retrieve a list of FAQ's.

Arguments for faqs
Name Description
page (Int) The page number to retrieve
pageSize (Int) The page size to retrieve

Retrieve a list of Events.

Arguments for events
Name Description
page (Int) Page number (1-based index)
pageSize (Int) Page size

Retrieve a list of G-Codes.

Arguments for gcodes
Name Description
page (Int) The page number to retrieve
pageSize (Int) The number of items per page
sortBy (GcodeField) Field to sort the results by
sortDirection (SortDirection) Direction to sort the results (ascending or descending).
filters ([GcodeFilter!]) List of filters to apply to the Gcode results

Retrieve details of a single G-Code by its ID.

Returns: Gcode!
Arguments for gcode
Name Description
id (ID!) ID of the Gcode to retrieve

Fetch thermal history asset data.

Arguments for thermalHistories
Name Description
optimizationId (ID!) (No description provided)
layer (Int!) (No description provided)
isOptimized (Boolean!) (No description provided)

Retrieve a list of materials

Arguments for materials
Name Description
page (Int) The page number to retrieve (1-based index).
pageSize (Int) The number of items per page.
sortBy (MaterialField) Field to sort the results by.
sortDirection (SortDirection) Direction to sort the results (ascending or descending).
filters ([MaterialFilter!]) List of filters to apply to the Material results.

Retrieve details of a single material by its ID.

Returns: Material!
Arguments for material
Name Description
id (ID!) The unique identifier of the Material to retrieve.

Retrieve a list of material brands.

Arguments for materialBrands
Name Description
page (Int!) (No description provided)
pageSize (Int!) (No description provided)

Retrieve a summary of materials.

Retrieve login history for the user.

Returns: [Login!]!

Retrieve personal access tokens for the user.

Retrieve a list of printers.

Arguments for printers
Name Description
page (Int) The page number to retrieve (1-based index).
pageSize (Int) The number of items per page.
sortBy (PrinterField) Field to sort the results by.
sortDirection (SortDirection) Direction to sort the results (ascending or descending).
filters ([PrinterFilter!]) List of filters to apply to the Printer results.

Retrieve a specific printer by its ID.

Returns: Printer!
Arguments for printer
Name Description
id (ID!) The unique identifier of the Printer to retrieve.

Retrieve the default simulation parameters.

Returns: NewsArticle!
Arguments for newsArticle
Name Description
id (ID!) (No description provided)

Retrieve a list of News articles.

Arguments for newsArticles
Name Description
page (Int) Page number
pageSize (Int) Page size

Feedback for a news article.

Arguments for newsArticleFeedback
Name Description
newsArticleId (ID!) (No description provided)

Retrieve a list of simulations.

Arguments for simulations
Name Description
page (Int) The page number to retrieve (1-based index).
pageSize (Int) The number of items per page.
sortBy (SimulationField) Field to sort the results by.
sortDirection (SortDirection) Direction to sort the results (ascending or descending).
filters ([SimulationFilter!]) List of filters to apply to the Simulation results.

Retrieve a list of optimizations.

Arguments for optimizations
Name Description
page (Int) The page number to retrieve (1-based index).
pageSize (Int) The number of items per page.
sortBy (SimulationField) Field to sort the results by.
sortDirection (SortDirection) Direction to sort the results (ascending or descending).
filters ([SimulationFilter!]) List of filters to apply to the Optimization results.

Retrieve the default simulation parameters.

Arguments for defaultSimulationSettings
Name Description
gcodeId (ID!) The unique identifier of the G-Code for which to get default simulation settings.
roomTemperature (Float) Ambient room temperature in Celsius.
stabilizedTemperature (Float) Stabilized air temperature in Celsius.
constantPlatformTemperature (Float) Constant platform temperature in Celsius.

Retrieve the default simulation parameters.

Arguments for defaultOptimizationSettings
Name Description
gcodeId (ID!) The unique identifier of the G-Code for which to get default optimization settings.

Retrieve the default simulation parameters.

Returns: Optimization!
Arguments for optimization
Name Description
id (ID!) The unique identifier of the Optimization to retrieve.

Retrieve the default simulation parameters.

Returns: Simulation!
Arguments for simulation
Name Description
id (ID!) The unique identifier of the Simulation to retrieve.

Retrieve a summary of the platform.

Returns: Summary!

Generate a presigned URL for uploading a file.

Returns: PresignedUrl!
Arguments for getPresignedUrl
Name Description
fileName (String!) (No description provided)

Retrieve transaction histories for the currently authenticated user.

Arguments for transactionHistoriesForUser
Name Description
page (Int!) (No description provided)
pageSize (Int!) (No description provided)

Retrieve the currently authenticated user.

Returns: User!

The mutation type defines GraphQL operations that change data on the server.

Create a new G-Code.

Arguments for createGcode
Name Description
input (CreateGcodeInput!) Input object containing all fields required to create a new G-Code.

Delete an existing G-Code by its ID.

Returns: Boolean!
Arguments for deleteGcode
Name Description
id (ID!) (No description provided)

Update an existing G-Code.

Arguments for updateGcode
Name Description
id (ID!) The unique identifier of the G-Code to update.
input (UpdateGcodeInput!) Input object containing fields to update for the specified G-Code.

Create a comment on a news article.

Arguments for createNewsArticleComment
Name Description
newsArticleId (ID!) (No description provided)
commentMarkdown (String!) (No description provided)

Create a new simulation based on a G-Code.

Returns: Simulation!
Arguments for createSimulation
Name Description
input (CreateSimulationInput!) Input data for creating a simulation

Create a new personal access token.

Arguments for createPersonalAccessToken
Name Description
name (String!) (No description provided)
expirationDaysDelta (Int!) (No description provided)

Create a new optimization based on a G-code.

Returns: Optimization!
Arguments for createOptimization
Name Description
input (CreateOptimizationInput!) Input data for creating an optimization

Create a new suggestion for the L-FAM platform.

Returns: Suggestion!
Arguments for createSuggestion
Name Description
input (CreateSuggestionInput!) (No description provided)

Increment the buy now click count for a material.

Returns: Material!
Arguments for incrementBuyNowClickCount
Name Description
id (ID!) (No description provided)

Redeem a free trial code for the platform.

Arguments for redeemFreeTrialCode
Name Description
input (RedeemFreeTrialCodeInput!) (No description provided)

Update feedback for a news article.

Arguments for updateNewsArticleFeedback
Name Description
newsArticleId (ID!) (No description provided)
input (NewsArticleFeedbackInput!) (No description provided)

Subscriptions are useful for notifying your client in real time about changes to back-end data, such as the creation of a new object or updates to an important field.

Fields for AlternativeMaterialNames
Name Description
bambustudio (String)

Fields for AlternativePrinterNames
Name Description
bambustudio (String)

Represents a news articles comments.

Fields for Author
Name Description
id (ID!)
name (String!) Name of the author.
position (String!) Position or title of the author.
avatarUrl (String) URL of the author's avatar image.
insertedAt (DateTime!) Timestamp when the comment was created.
updatedAt (DateTime!) Timestamp when the comment was last updated.

Represents the result of attempting to create a new G-code entry.

Fields for CreateGcodeResponse
Name Description
gcode (Gcode) The parsed G-code object if creation was successful; otherwise, null.
errors ([GcodeError!]!) Detailed failure flags if the G-code could not be created.

Response object for creating a personal access token.

Fields for CreatePatTokenResponse
Name Description
name (String!)
token (String!)
expiresOn (DateTime!)

An event entry with details such as date, location, and status.

Fields for Event
Name Description
id (ID!) Unique identifier for the event.
name (String!) Name of the event.
location (String!) Location where the event takes place.
startDate (DateTime!) Start date and time of the event.
endDate (DateTime!) End date and time of the event.
link (String) Optional URL link with more details or registration for the event.
isUpcoming (Boolean!) Indicates if the event is upcoming based on current date.
insertedAt (DateTime!) Timestamp when the event was created.
updatedAt (DateTime!) Timestamp of the last update to the event.

Frequently Asked Question entry with localized question and answer content.

Fields for Faq
Name Description
id (ID!) Unique identifier for the FAQ entry.
question (String) Localized question text shown to users.
answer (String) Localized answer text shown to users.
category (FaqCategory) Category the FAQ belongs to, such as General or Technical.
insertedAt (DateTime!) Timestamp of when the FAQ was created.
updatedAt (DateTime!) Timestamp of the last update to the FAQ.

Details of free trial codes.

Fields for FreeTrialCode
Name Description
id (ID!) Unique identifier for the code.
code (String!) The free trial code itself.
isUsed (Boolean!) Indicates whether the free trial code has been used.
group (FreeTrialCodeGroup!) The group this code belongs to.
user (User) User who redeemed the code, if any.
insertedAt (DateTime!) Timestamp when the free trial code was created.
updatedAt (DateTime!) Timestamp when the free trial code was last updated.

Details of free trial code groups.

Fields for FreeTrialCodeGroup
Name Description
id (ID!) Unique identifier for the code group.
subscription (HelioSubscription!) ID of the associated subscription.
company (String!) Company associated with the code group.
name (String!) Name of the code group.
expirationDate (DateTime!) Expiration date of the code group.
quantityOfCodes (Int!) Number of codes in the group.
isExpired (Boolean!) Whether the code group is expired.
insertedAt (DateTime!) Timestamp when the code group was created.
updatedAt (DateTime!) Timestamp when the code group was last updated.

Represents parsed data and metadata extracted from a G-code file.

Fields for Gcode
Name Description
id (ID!) Unique identifier for the G-code file.
name (String!) Original name of the G-code file.
sizeKb (Float!) Size of the G-code file in kilobytes.
height (Float!) Maximum height reached during the print, in millimetres.
width (Float!) Maximum width of the print area, in millimetres.
depth (Float!) Maximum depth of the print area, in millimetres.
platformTemperature (GcodeCustomFloat) Platform (bed) temperature used during the print. May be overridden or missing.
nozzleTemperatureMin (GcodeCustomFloat!) Minimum nozzle temperature detected in the G-code.
nozzleTemperatureMax (GcodeCustomFloat!) Maximum nozzle temperature detected in the G-code.
gcodeUrl (String!) URL to the G-code file in storage, if available. May be null if not stored.
gcodeKey (String!) Key used to access the G-code file in storage. This is not a URL but a unique identifier.
roadWidthMin (GcodeCustomFloat!) Minimum road width specified in the G-code.
roadWidthMax (GcodeCustomFloat!) Maximum road width specified in the G-code.
layerHeightMin (GcodeCustomFloat!) Minimum layer height specified in the G-code.
layerHeightMax (GcodeCustomFloat!) Maximum layer height specified in the G-code.
speedMin (GcodeCustomFloat!) Minimum print speed specified in the G-code.
speedMax (GcodeCustomFloat!) Maximum print speed specified in the G-code.
fanSpeedMin (GcodeCustomFloat!) Minimum fan speed used in the G-code.
fanSpeedMax (GcodeCustomFloat!) Maximum fan speed used in the G-code.
numberOfLayers (Int!) Total number of layers found in the G-code.
slicer (Slicer!) Slicer software identified from the G-code metadata.
material (Material!) Material associated with this G-code.
printer (Printer!) Printer associated with this G-code.
flowRatio (Float) Optional flow ratio specified in the G-code, if available.
overrideGcodeParams (OverrideGcodeParams) Overrides applied to G-code parameters, if any.
isSingleShell (Boolean!) Indicates whether the print is a single-shell structure.
insertedAt (DateTime!) Timestamp when the G-code was first processed or uploaded.
updatedAt (DateTime!) Timestamp of the last update to this G-code record.

Represents a float value from a G-code with its override and state metadata.

Fields for GcodeCustomFloat
Name Description
floatType (FloatType!) Indicates the nature of the value: regular float, NaN, positive/negative infinity, etc.
isOverriden (Boolean!) True if the value was manually overridden by the user or system.
value (Float) The actual numeric value if valid; otherwise, null for NaN or infinite values.

Details of subscriptions.

Fields for HelioSubscription
Name Description
id (ID!) Unique identifier for the user.
name (String!) Name of the subscription plan.
description (String) Description of the subscription plan.
optsPerMonth (Int!) Number of optimization runs allowed per month under this subscription.
membershipDuration (Int!) Duration of the subscription in months.
insertedAt (DateTime!) Timestamp when the subscription was created.
updatedAt (DateTime!) Timestamp when the subscription was last updated.

Fields for LayerRange
Name Description
fromLayer (Int!) The starting layer number for the specified range (inclusive).
toLayer (Int!) The ending layer number for the specified range (inclusive).

Represents a user's login record.

Fields for Login
Name Description
id (ID!) Unique identifier of the login record.
user (User!) The user associated with this login record.
loginType (LoginType!) Type of login method used (e.g. username/password or Auth0).
upUsername (String) Username used for traditional login, if applicable.
upPassword (String) Password hash used for traditional login, if applicable.
auth0UserId (String) Auth0 user ID if the user logged in via Auth0.
auth0Email (String) Email associated with the Auth0 login, if applicable.

Fields for Material
Name Description
id (ID!) Unique identifier for the material.
name (String!) Name of the material.
density (Float!) Density of the material (e.g., in g/cm^3).
alternativeNames (AlternativeMaterialNames!) Alternative names for the materials.
brand (MaterialBrand!) Brand associated with the material.
description (String) Description of the material.
conductivityY (Float) Thermal conductivity of the material (e.g., in W/(m·K)).
capacity (Float!) Heat capacity of the material (e.g., in J/(g·K)).
conductivityX (Float!) Thermal conductivity of the material (e.g., in W/(m·K)).
conductivityZ (Float) Thermal conductivity of the material (e.g., in W/(m·K)).
emissivity (Float!) Emissivity of the material, representing its ability to emit thermal radiation.
tg (Float!) Glass transition temperature, where material changes from glassy to rubbery.
minExtrusionTemp (Float) Min extrusion temp defined by filament manufacturer.
maxExtrusionTemp (Float) Max extrusion temp defined by filament manufacturer.
dryingTemp (Float) Drying temperature in °C
dryingTimeHours (Float) Drying time in hours at that temperature
bedTempMin (Float) Minimum bed temperature in °C
bedTempMax (Float) Maximum bed temperature in °C
heatedChamberRequirement (HeatedChamberRequirement) Heated chamber requirement for this material.
applicationAreas ([ApplicationArea!]!) List of application areas for this material.
insertedAt (DateTime!) Timestamp of when the material was first added.
updatedAt (DateTime!) Timestamp of the last update to the material.

Fields for MaterialBrand
Name Description
id (ID!) Unique identifier for the material brand.
name (String!) Name of the material brand.
logoUrl (String) URL of the material brand's logo.
description (String) Description of the material brand.
emailToBuy (String) Email address used to inquire or purchase from the material brand.
insertedAt (DateTime!) Timestamp of when the material brand was first added.
updatedAt (DateTime!) Timestamp of the last update to the material brand.

Fields for MaterialsSummary
Name Description
brands (Int!)
desktopMaterials (Int!)
lfamMaterials (Int!)
experimentalMaterials (Int!)

Represents a news article.

Fields for NewsArticle
Name Description
id (ID!) Unique identifier for the news article.
title (String!) The headline or title of the news article.
summary (String!) A short summary or teaser of the article's content.
markdown (String!) The full article content written in Markdown format.
coverUrl (String) Optional URL to the article's cover image.
status (NewsArticleStatus!) The current publication status of the article.
tags ([NewsArticleTag!]!) List of tags categorizing the article.
comments ([NewsArticleComment!]!) List of comments made on the article.
nLikes (Int!) Number of likes the article has received.
nComments (Int!) Number of comments on the article.
author (Author!) The author of the article, if available.
insertedAt (DateTime!) Timestamp when the article was created.
updatedAt (DateTime!) Timestamp of the last article update.

Represents a news articles comments.

Fields for NewsArticleComment
Name Description
id (ID!)
user (User) User associated with this login record.
commentMarkdown (String!) Markdown content of the comment.
insertedAt (DateTime!) Timestamp when the comment was created.
updatedAt (DateTime!) Timestamp when the comment was last updated.

Represents feedback for news articles.

Fields for NewsArticleFeedback
Name Description
id (ID!)
user (User) User associated with this login record.
isLike (Boolean!) Indicates if the feedback is a like (True) or dislike (False).
isNotImportant (Boolean!) Indicates if the feedback is marked as not important.
isNiceToHave (Boolean!) Indicates if the feedback is marked as nice to have.
isImportant (Boolean!) Indicates if the feedback is marked as important.
isCritical (Boolean!) Indicates if the feedback is marked as critical.
insertedAt (DateTime!) Timestamp when the comment was created.
updatedAt (DateTime!) Timestamp when the comment was last updated.

Represents an optimization simulation with detailed configuration and results.

Fields for Optimization
Name Description
id (ID!) Unique identifier for the optimization simulation.
spec (Int!) Specification version or type used in the simulation.
name (String!) Name of the optimization simulation.
index (Int!) Index or sequence number of the simulation.
isOptimization (Boolean!) Indicates if this is an optimization simulation.
progress (Float!) Progress percentage of the simulation (between 0 and 100)
status (SimulationStatus!) Current status or state of the simulation.
originalPreviewImageUrl (String) URL for the original simulation preview image.
optimizedPreviewImageUrl (String) URL for the optimized simulation preview image.
originalReportJsonUrl (String) Presigned URL for the original simulation report.
optimizedReportJsonUrl (String) Presigned URL for the optimized simulation report.
optimizedGcodeUrl (String) Presigned URL for the optimized G-code.
optimizedGcodeWithThermalIndexesUrl (String) Presigned URL for the optimized G-code annotated with thermal indexes.
extrusionPathsAsset (SimulationAsset) Parquet asset with extrusion path data.
originalMeshAsset (SimulationAsset) Parquet asset of the original public mesh.
contactsAsset (SimulationAsset) Parquet asset with contact data.
originalCoordinateAsset (SimulationAsset) Parquet asset with original coordinates.
optimizedMeshAsset (SimulationAsset) Parquet asset of the optimized public mesh.
simulationSettings (SimulationSettings!) Settings used for the simulation, including overrides for temperatures and fan speeds.
optimizationSettings (OptimizationSettings!) Settings specific to the optimization run, including variable overrides and constraints.
optimizationReductionStrategySettings (OptimizationReductionStrategySettings!) Settings for the reduction strategy used in the optimization run.
optimizationResidualStrategySettings (OptimizationResidualStrategySettings!) Settings for the residual strategy used in the optimization run.
gcode (Gcode!) G-code file associated with the optimization run.
printer (Printer!) Printer model used in the simulation.
material (Material!) Material used for the simulation.
optimizedThermalIndexStatistics (OptimizedThermalIndexStatistics!) Statistics related to thermal indices in the optimization run.
originalThermalIndexStatistics (ThermalIndexStatistics!) Statistics related to thermal indices in the original run.
insertedAt (DateTime!) Timestamp when the simulation was created.
updatedAt (DateTime!) Timestamp when the simulation was last updated.

Fields for OptimizationReductionStrategySettings
Name Description
optimizationReductionStrategy (OptimizationReductionStrategy) Reduction strategy used in the optimization run.
optimizationReductionAutolinearDoCriticality (Boolean) Whether to apply autolinear criticality reduction.
optimizationReductionAutolinearDoFitness (Boolean) Whether to apply autolinear fitness-based reduction.
optimizationReductionAutolinearDoInterpolation (Boolean) Whether to apply interpolation in autolinear reduction.
optimizationReductionAutolinearCriticalityMaxNodesDensity (Float) Max node density for autolinear criticality.
optimizationReductionAutolinearCriticalityThreshold (Float) Threshold value for autolinear criticality.
optimizationReductionAutolinearFitnessMaxNodesDensity (Float) Max node density for autolinear fitness.
optimizationReductionAutolinearFitnessThreshold (Float) Threshold value for autolinear fitness.
optimizationReductionAutolinearInterpolationLevels (Int) Number of interpolation levels in autolinear reduction.
optimizationReductionLinearNodesLimit (Int) Limit on number of nodes in linear reduction strategy.

Fields for OptimizationResidualStrategySettings
Name Description
optimizationResidualStrategy (OptimizationResidualStrategy) Residual Strategy used in the optimization run.
optimizationResidualExponentialPenaltyLow (Float) Low value of exponential penalty applied to residuals.
optimizationResidualExponentialPenaltyHigh (Float) High value of exponential penalty applied to residuals.

Fields for OptimizationSettings
Name Description
minVelocity (Float!) Minimum velocity used during optimization.
maxVelocity (Float!) Maximum velocity allowed during optimization.
minVelocityIncrement (Float!) Minimum velocity increment allowed.
minExtruderFlowRate (Float!) Maximum extruder flow rate during optimization.
maxExtruderFlowRate (Float!) Minimum extruder flow rate during optimization.
tolerance (Float!) Tolerance value for convergence in optimization.
maxIterations (Int!) Maximum number of iterations in the optimization run.
nNodes (Int!) Number of nodes used in the optimization process.
reductionStrategySettings (ReductionStrategySettings!) Configuration settings for the reduction strategy used during optimization.
residualStrategySettings (ResidualStrategySettings!) Configuration settings for the residual strategy used during optimization.
layersToOptimize ([LayerRange!]!) List of layer ranges to include in the optimization process.
optimizer (Optimizer!) Selected optimization algorithm to use during the simulation process.

Fields for OptimizedThermalIndexStatistics
Name Description
optimizedThermalIndexCount (Int) Number of thermal index data points in the optimized simulation.
optimizedThermalIndexMean (Float) Mean value of the optimized thermal index.
optimizedThermalIndexStd (Float) Standard deviation of the optimized thermal index.
optimizedThermalIndexMin (Float) Minimum value of the optimized thermal index.
optimizedThermalIndex25 (Float) 25th percentile of the optimized thermal index.
optimizedThermalIndex50 (Float) 50th percentile (median) of the optimized thermal index.
optimizedThermalIndex75 (Float) 75th percentile of the optimized thermal index.
optimizedThermalIndexMax (Float) Maximum value of the optimized thermal index.

Override values for key G-code parameters used during simulation or optimization.

Fields for OverrideGcodeParams
Name Description
overrideConstantNozzleTemperature (Float) Constant nozzle temperature override in Kelvin.
overrideConstantLayerHeight (Float) Constant layer height override in mm, if specified.
overrideConstantRoadWidth (Float) Constant road width override in mm, if specified.
overrideConstantPlatformTemperature (Float) Constant platform temperature override in Kelvin, if specified.

Metadata about the pagination state.

Fields for PageInfo
Name Description
hasPreviousPage (Boolean!) Indicates if there is a previous page.
hasNextPage (Boolean!) Indicates if there is a next page.

Paginated list of objects

Fields for PaginatedResponse
Name Description
pages (Int!) Number of total pages available for the current query.
pageInfo (PageInfo!) Information about pagination.
objects ([MaterialPrinterSimulationOptimizationEventGcodeFaqNewsArticleMaterialBrandTransactionHistory!]!) List of objects on the current page.

Represents a personal access token for user authentication.

Fields for PersonalAccessToken
Name Description
name (String!) Name or identifier for the personal access token.
expiresOn (DateTime!) Expiration date and time of the personal access token.

Contains information for uploading a file using a presigned URL.

Fields for PresignedUrl
Name Description
mimeType (String!) MIME type of the file associated with the presigned URL.
url (String!) Presigned URL allowing for direct uploads.
key (String!) Key or identifier associated with the file in storage.

Fields for Printer
Name Description
id (ID!) Unique identifier for the printer.
name (String!) Name of the printer.
alternativeNames (AlternativePrinterNames!) Alternative names for the printers.
brand (PrinterBrand!) Brand associated with the printer.
nozzleDiameter (Float!) Diameter of the printer's nozzle.
heatedBed (Boolean!) Indicates if the printer has a heated bed.
heatedChamber (Boolean!) Indicates if the printer has a heated chamber.
maxExtruderFlowRate (Float!) Maximum extruder flow rate.
minExtruderFlowRate (Float!) Minimum extruder flow rate.
maxHardwareExtrusionTemp (Float!) Maximum temperature the printer's hardware can achieve during extrusion.
minHardwareExtrusionTemp (Float!) Minimum temperature the printer's hardware operates at during extrusion.
minHardwarePrintSpeed (Float!) Minimum print speed the printer can handle, in mm/s.
maxHardwarePrintSpeed (Float!) Maximum print speed the printer can handle, in mm/s.
chamberType (ChamberType!) Type of the printer's chamber, e.g., no chamber, heated or unheated.
nNodes (Int!) Number of nodes in the printer's model.
insertedAt (DateTime!) Timestamp when the printer was created.
updatedAt (DateTime!) Timestamp of the last update.

Fields for PrinterBrand
Name Description
id (ID!) Unique identifier for the printer brand.
name (String!) Name of the printer brand.
logoUrl (String) URL to the brand's logo, if available.
description (String) Detailed description of the brand, if provided.
insertedAt (DateTime!) Timestamp of when the brand was added.
updatedAt (DateTime!) Timestamp of the last update to the brand.

Fields for ReductionStrategySettings
Name Description
strategy (OptimizationReductionStrategy!) The strategy used to reduce the number of nodes in the optimization process.
autolinearDoCriticality (Boolean!) Enable automatic linear reduction based on thermal criticality.
autolinearDoFitness (Boolean!) Enable automatic linear reduction based on fitness values.
autolinearDoInterpolation (Boolean!) Enable interpolation during automatic linear reduction.
autolinearCriticalityMaxNodesDensity (Float!) Maximum nodes density for criticality-based auto-linear reduction.
autolinearCriticalityThreshold (Float!) Thermal index threshold for triggering criticality-based reduction.
autolinearFitnessMaxNodesDensity (Float!) Maximum nodes density for fitness-based auto-linear reduction.
autolinearFitnessThreshold (Float!) Fitness threshold for triggering fitness-based reduction.
autolinearInterpolationLevels (Int!) Number of interpolation levels to apply in auto-linear strategy.
linearNodesLimit (Int!) Maximum number of nodes allowed for the linear reduction strategy.

Fields for ResidualStrategySettings
Name Description
strategy (OptimizationResidualStrategy!) The residual strategy used for optimization, such as linear or exponential.
exponentialPenaltyHigh (Float!) Penalty applied to residuals above the target range when using exponential strategy.
exponentialPenaltyLow (Float!) Penalty applied to residuals below the target range when using exponential strategy.

Represents a simulation run with associated metadata and results.

Fields for Simulation
Name Description
id (ID!) Unique identifier for the simulation.
name (String!) Name or title of the simulation.
progress (Float!) Progress percentage of the simulation (between 0 and 100)
status (SimulationStatus!) Current status or phase of the simulation.
meshUrl (SimulationAsset) Public-facing original mesh asset (Parquet).
gcode (Gcode!) G-code used to run the simulation.
printer (Printer!) Printer used for the simulation.
material (Material!) Material used for the simulation.
reportJsonUrl (String) Presigned URL for downloading the original simulation report.
thermalIndexGcodeUrl (String) Presigned URL to download thermal index G-code.
estimatedSimulationDurationSeconds (Float) Estimated duration of the simulation in seconds.
simulationSettings (SimulationSettings!)
thermalIndexStatistics (ThermalIndexStatistics!) Statistics related to thermal indices in the simulation.
updatedAt (DateTime!) Timestamp when the simulation was last updated.
insertedAt (DateTime!) Timestamp when the simulation was created.

Fields for SimulationAsset
Name Description
assetType (SimulationAssetType!)
url (String!)

Fields for SimulationSettings
Name Description
airTemperatureAboveBuildPlate (Float!) Ambient air temperature just above the build plate, in degrees Kelvin.
temperatureStabilizationHeight (Float!) Height at which temperature stabilization occurs, in millimeters.
stabilizedAirTemperature (Float!) The temperature maintained at the stabilization height, in degrees Kelvin.
constantPlatformTemperature (Float) Optional override for the platform (bed) temperature, in degrees Kelvin.
constantNozzleTemperature (Float) Optional override for the nozzle temperature, in degrees Kelvin.
constantFanSpeed (Float) Optional override for fan speed as a percentage (0–100).

Represents a suggestion for the Lfam dashboard.

Fields for Suggestion
Name Description
id (ID!)
user (User)
content (String!)
insertedAt (DateTime!)
updatedAt (DateTime!)

Fields for Summary
Name Description
simulationCount (Int!)
materialCount (Int!)
printerCount (Int!)

Fields for ThermalIndexStatistics
Name Description
thermalIndexCount (Int) Number of thermal index values in the original simulation.
thermalIndexMean (Float) Mean of the thermal index values in the original simulation.
thermalIndexStd (Float) Standard deviation of the original thermal index values.
thermalIndexMin (Float) Minimum thermal index value observed.
thermalIndex25 (Float) 25th percentile of thermal index values.
thermalIndex50 (Float) Median or 50th percentile of thermal index values.
thermalIndex75 (Float) 75th percentile of thermal index values.
thermalIndexMax (Float) Maximum thermal index value observed.

Represents a record of a user's subscription transaction.

Fields for TransactionHistory
Name Description
id (ID!) Unique identifier of the transaction record.
user (User!) The user associated with this transaction.
name (String!) Name of the subscription or transaction item.
description (String) Optional description of the transaction.
optsPerMonth (Int!) Number of optimizations allowed per month in this transaction.
subscriptionStartDate (DateTime) Start date of the subscription associated with this transaction.
subscriptionEndDate (DateTime) End date of the subscription associated with this transaction.
insertedAt (DateTime!) Timestamp when the transaction record was created.
updatedAt (DateTime!) Timestamp when the transaction record was last updated.

Represents the result of attempting to update an uploaded G-code.

Fields for UpdateGcodeResponse
Name Description
gcode (Gcode) The parsed G-code object if the file was successfully processed; otherwise, null.
errors ([GcodeError!]!) Detailed failure flags if the G-code update encountered issues during parsing.

Details of a user in the system.

Fields for User
Name Description
id (ID!) Unique identifier of the user.
email (String) User's email address.
handle (String) Custom user handle or username.
type (UserType!) The user type or role in the system (e.g. Hobbyist, Academic).
avatarUrl (String) URL to the user's avatar image.
transactionHistories ([TransactionHistory!]!) List of the user's transaction history records.
remainingOptsThisMonth (Int) Remaining number of optimizations allowed for the user this month.
subscriptionStartDate (DateTime) Start date of the user's subscription, if active.
subscriptionEndDate (DateTime) End date of the user's subscription, if active.
subscription (HelioSubscription) Subscription details for the user, if any.
logins ([Login!]!) List of user login records.
membershipStatus (String!) Indicates if the user has an active subscription.

Fields for BooleanFilter
Name Description
equalTo (Boolean)
notEqualTo (Boolean)

Fields for CreateGcodeInput
Name Description
name (String!) The name of the gcode.
materialId (ID!) The ID of the material.
printerId (ID!) The ID of the printer.
gcodeKey (String!) The key of the gcode.
nozzleTemperature (Float) The nozzle temperature.
isSingleShell (Boolean!) Whether the gcode is single shell.
layerHeight (Float) The layer height.
lineWidth (Float) The line width.
platformTemperature (Float) The platform temperature.

Fields for CreateOptimizationInput
Name Description
name (String!) User-defined name for the optimization run.
gcodeId (ID!) Unique identifier of the G-code to optimize.
simulationSettings (SimulationSettingsInput) Settings related to the simulation environment and initial conditions.
optimizationSettings (OptimizationSettingsInput) Parameters and strategy configurations for running the optimization.

Fields for CreateSimulationInput
Name Description
name (String!) User-defined name for the simulation.
gcodeId (ID!) Unique identifier of the G-code to simulate.
simulationSettings (SimulationSettingsInput) Settings related to the simulation environment and parameters.

Fields for CreateSuggestionInput
Name Description
content (String) Suggestion.

Fields for Filter
Name Description
stringFilter (StringFilter)
floatFilter (FloatFilter)
intFilter (IntFilter)
booleanFilter (BooleanFilter)
statusFilter (SimulationStatusFilter) This filter is only used for filtering the status of a simulation.

Fields for FloatFilter
Name Description
equalTo (Float)
notEqualTo (Float)
greaterThan (Float)
greaterThanOrEqualTo (Float)
lessThan (Float)
lessThanOrEqualTo (Float)
inList ([Float!]!)
notInList ([Float!]!)

Fields for GcodeFilter
Name Description
field (GcodeField!) The field to filter on, e.g., 'name', 'status'.
filter (Filter!) The value or condition to filter the field by, e.g., 'active', 'completed'.

Fields for IntFilter
Name Description
equalTo (Int)
notEqualTo (Int)
greaterThan (Int)
greaterThanOrEqualTo (Int)
lessThan (Int)
lessThanOrEqualTo (Int)
inList ([Int!]!)
notInList ([Int!]!)

Fields for LayerRangeInput
Name Description
fromLayer (Int!) The starting layer number for the specified range (inclusive).
toLayer (Int!) The ending layer number for the specified range (inclusive).

Fields for MaterialFilter
Name Description
field (MaterialField!) The field to filter on, e.g., 'name', 'status'.
filter (Filter!) The value or condition to filter the field by, e.g., 'active', 'completed'.

Fields for NewsArticleFeedbackInput
Name Description
isLike (Boolean) Indicates if the user liked the article. If None, it means no feedback was given.
isNotImportant (Boolean) Indicates if the user found the article not important. If None, it means no feedback was given.
isNiceToHave (Boolean) Indicates if the user found the article nice to have. If None, it means no feedback was given.
isImportant (Boolean) Indicates if the user found the article important. If None, it means no feedback was given.
isCritical (Boolean) Indicates if the user found the article critical. If None, it means no feedback was given.

Fields for OptimizationSettingsInput
Name Description
minVelocity (Float) Minimum print head velocity during optimization, in mm/s.
maxVelocity (Float) Maximum print head velocity during optimization, in mm/s.
minVelocityIncrement (Float) Minimum step size to increment velocity values during optimization, in mm/s.
minExtruderFlowRate (Float) Minimum allowed extruder flow rate during optimization, in mm³/s.
maxExtruderFlowRate (Float) Maximum allowed extruder flow rate during optimization, in mm³/s.
tolerance (Float) Tolerance threshold for optimization convergence.
maxIterations (Int) Maximum number of iterations allowed during optimization.
reductionStrategySettings (ReductionStrategySettingsInput) Configuration settings for the reduction strategy used during optimization.
residualStrategySettings (ResidualStrategySettingsInput) Configuration settings for the residual strategy used during optimization.
layersToOptimize ([LayerRangeInput!]!) List of layer ranges to include in the optimization process.
optimizer (Optimizer) Selected optimization algorithm to use during the simulation process.

Fields for PrinterFilter
Name Description
field (PrinterField!) The field to filter on, e.g., 'name', 'status'.
filter (Filter!) The value or condition to filter the field by, e.g., 'active', 'completed'.

Fields for RedeemFreeTrialCodeInput
Name Description
code (String!) Free trial code to redeem.

Fields for ReductionStrategySettingsInput
Name Description
strategy (OptimizationReductionStrategy) The strategy used to reduce the number of nodes in the optimization process.
autolinearDoCriticality (Boolean) Enable automatic linear reduction based on thermal criticality.
autolinearDoFitness (Boolean) Enable automatic linear reduction based on fitness values.
autolinearDoInterpolation (Boolean) Enable interpolation during automatic linear reduction.
autolinearCriticalityMaxNodesDensity (Float) Maximum nodes density for criticality-based auto-linear reduction.
autolinearCriticalityThreshold (Float) Thermal index threshold for triggering criticality-based reduction.
autolinearFitnessMaxNodesDensity (Float) Maximum nodes density for fitness-based auto-linear reduction.
autolinearFitnessThreshold (Float) Fitness threshold for triggering fitness-based reduction.
autolinearInterpolationLevels (Int) Number of interpolation levels to apply in auto-linear strategy.
linearNodesLimit (Int) Maximum number of nodes allowed for the linear reduction strategy.

Fields for ResidualStrategySettingsInput
Name Description
strategy (OptimizationResidualStrategy) The residual strategy used for optimization, such as linear or exponential.
exponentialPenaltyHigh (Float) Penalty applied to residuals above the target range when using exponential strategy.
exponentialPenaltyLow (Float) Penalty applied to residuals below the target range when using exponential strategy.

Fields for SimulationFilter
Name Description
field (SimulationField!) The field to filter on, e.g., 'name', 'status'.
filter (Filter!) The value or condition to filter the field by, e.g., 'active', 'completed'.

Fields for SimulationSettingsInput
Name Description
roomTemperature (Float) Ambient air temperature in the room, in degrees Kelvin
airTemperatureAboveBuildPlate (Float) Ambient air temperature just above the build plate, in degrees Kelvin.
temperatureStabilizationHeight (Float) The height at which the air temperature around the print begins to stabilize.
stabilizedAirTemperature (Float) The temperature maintained at the stabilization height, in degrees Kelvin.
constantPlatformTemperature (Float) Optional override for the platform (bed) temperature, in degrees Kelvin.
constantNozzleTemperature (Float) Optional override for the nozzle temperature, in degrees Kelvin.
constantFanSpeed (Float) Optional override for fan speed as a percentage (0–100).

Fields for SimulationStatusFilter
Name Description
equalTo (SimulationStatus)
notEqualTo (SimulationStatus)

Fields for StringFilter
Name Description
equalTo (String)
notEqualTo (String)
caseSensitiveContains (String)
caseInsensitiveContains (String)
caseSensitiveStartsWith (String)
caseInsensitiveStartsWith (String)
caseSensitiveEndsWith (String)
caseInsensitiveEndsWith (String)
notCaseSensitiveContains (String)
notCaseInsensitiveContains (String)
notCaseSensitiveStartsWith (String)
notCaseInsensitiveStartsWith (String)
notCaseSensitiveEndsWith (String)
notCaseInsensitiveEndsWith (String)

Fields for UpdateGcodeInput
Name Description
name (String!) The name of the gcode.
materialId (ID!) The ID of the material.
printerId (ID!) The ID of the printer.
nozzleTemperature (Float) The nozzle temperature.
isSingleShell (Boolean!) Whether the gcode is single shell.
layerHeight (Float) The layer height.
lineWidth (Float) The line width.
platformTemperature (Float) The platform temperature.

Values for ApplicationArea
Name Description
SCULPTURE SCULPTURE
LOW_TEMP_MOLD LOW_TEMP_MOLD
MED_TEMP_MOLD MED_TEMP_MOLD
HIGH_TEMP_MOLD HIGH_TEMP_MOLD
INTERIOR_DESIGN INTERIOR_DESIGN
EXTERIOR_DESIGN EXTERIOR_DESIGN
AUTOMOTIVE AUTOMOTIVE
AEROSPACE AEROSPACE
INDUSTRIAL_PROTOTYPING INDUSTRIAL_PROTOTYPING
ENGINEERING_PROTOTYPING ENGINEERING_PROTOTYPING
GENERAL_PROTOTYPING GENERAL_PROTOTYPING
TOOLING_MANUFACTURING TOOLING_MANUFACTURING
MANUFACTURING_AIDS MANUFACTURING_AIDS
CONSTRUCTION_ARCHITECTURE CONSTRUCTION_ARCHITECTURE
LIGHTING_EQUIPMENT LIGHTING_EQUIPMENT
ELECTRONICS ELECTRONICS
ELECTRICAL ELECTRICAL
CONSUMER_PRODUCTS CONSUMER_PRODUCTS
OUTDOOR_EQUIPMENT OUTDOOR_EQUIPMENT
MARINE MARINE
MEDICAL MEDICAL
ART ART
EDUCATION EDUCATION
MATERIAL_RESEARCH MATERIAL_RESEARCH
RECYCLING RECYCLING
ECO_SUSTAINABILITY ECO_SUSTAINABILITY
LARGE_SCALE_PROTOTYPING LARGE_SCALE_PROTOTYPING
ROBOTICS ROBOTICS
DRONES DRONES
HOBBY HOBBY
WEARABLES WEARABLES

Values for ChamberType
Name Description
HEATED_CHAMBER HEATED_CHAMBER
NO_CHAMBER NO_CHAMBER
UNHEATED_CHAMBER UNHEATED_CHAMBER

Category that classifies the type of FAQ.

Values for FaqCategory
Name Description
MATERIAL MATERIAL
SIMULATION SIMULATION
GCODE GCODE

Values for FloatType
Name Description
NEG_INF NEG_INF
POS_INF POS_INF
NAN NAN
VALUE VALUE

Values for GcodeError
Name Description
HAS_NEGATIVE_Z_COORDINATES HAS_NEGATIVE_Z_COORDINATES
HAS_NO_COMMANDS HAS_NO_COMMANDS
HAS_UNCERTAIN_ENCODING HAS_UNCERTAIN_ENCODING
HAS_ZERO_SPEED HAS_ZERO_SPEED
LAYER_HEIGHT_NOT_FOUND LAYER_HEIGHT_NOT_FOUND
LINE_WIDTH_NOT_FOUND LINE_WIDTH_NOT_FOUND
NOZZLE_TEMPERATURE_NOT_FOUND NOZZLE_TEMPERATURE_NOT_FOUND
PLATFORM_TEMPERATURE_NOT_FOUND PLATFORM_TEMPERATURE_NOT_FOUND

Values for GcodeField
Name Description
NAME NAME
DESCRIPTION DESCRIPTION
SIZE_KB SIZE_KB
HEIGHT HEIGHT
WIDTH WIDTH
DEPTH DEPTH
ROAD_WIDTH ROAD_WIDTH
LAYER_HEIGHT LAYER_HEIGHT
PLATFORM_TEMP PLATFORM_TEMP
FLOW_RATIO FLOW_RATIO
NOZZLE_TEMP NOZZLE_TEMP
INFILL_SPEED INFILL_SPEED
NUMBER_OF_LAYERS NUMBER_OF_LAYERS

Values for HeatedChamberRequirement
Name Description
NOT_REQUIRED NOT_REQUIRED
OPTIONAL OPTIONAL
REQUIRED REQUIRED

Values for LoginType
Name Description
USERNAME_PASSWORD USERNAME_PASSWORD
AUTH_0 AUTH_0

Values for MaterialField
Name Description
ID ID
NAME NAME
BAMBUSTUDIO_NAME BAMBUSTUDIO_NAME
MIN_EXTRUSION_TEMP MIN_EXTRUSION_TEMP
MAX_EXTRUSION_TEMP MAX_EXTRUSION_TEMP
DRYING_TEMP DRYING_TEMP
DRYING_TIME_HOURS DRYING_TIME_HOURS
BED_TEMP_MIN BED_TEMP_MIN
BED_TEMP_MAX BED_TEMP_MAX
APPLICATION_AREAS APPLICATION_AREAS

Status of a news article.

Values for NewsArticleStatus
Name Description
UNDER_CONSIDERATION UNDER_CONSIDERATION
IN_DEVELOPMENT IN_DEVELOPMENT
RECENTLY_RELEASED RECENTLY_RELEASED

Tags associated with a news article.

Values for NewsArticleTag
Name Description
PRINTER PRINTER
MATERIAL MATERIAL
GCODE GCODE
SIMULATION SIMULATION
COMPANY COMPANY
UPDATES UPDATES
MISC MISC

Values for OptimizationReductionStrategy
Name Description
AUTOLINEAR AUTOLINEAR
LINEAR LINEAR
NO_STRATEGY NO_STRATEGY

Values for OptimizationResidualStrategy
Name Description
LINEAR LINEAR
EXPONENTIAL EXPONENTIAL

Values for Optimizer
Name Description
FULL FULL
HYBRID HYBRID

Values for PrinterField
Name Description
ID ID
NAME NAME
BAMBUSTUDIO_NAME BAMBUSTUDIO_NAME
BRAND BRAND
NOZZLE_DIAMETER NOZZLE_DIAMETER
HEATED_BED HEATED_BED
HEATED_CHAMBER HEATED_CHAMBER
MAX_EXTRUDER_FLOW_RATE MAX_EXTRUDER_FLOW_RATE
MIN_EXTRUDER_FLOW_RATE MIN_EXTRUDER_FLOW_RATE
MAX_HARDWARE_PRINT_SPEED MAX_HARDWARE_PRINT_SPEED
MIN_HARDWARE_PRINT_SPEED MIN_HARDWARE_PRINT_SPEED

Defines the type or format of a simulation asset.

Values for SimulationAssetType
Name Description
PARQUET PARQUET
JSON JSON

Defines the simulation fields

Values for SimulationField
Name Description
NAME NAME
STATUS STATUS
IS_BAAM IS_BAAM
IS_OPTIMIZATION IS_OPTIMIZATION
PROGRESS PROGRESS
PRINTABILITY PRINTABILITY
BONDING_RATE_MEAN BONDING_RATE_MEAN
BONDING_RATE_STD BONDING_RATE_STD
BONDING_RATE_MIN BONDING_RATE_MIN
BONDING_RATE_MAX BONDING_RATE_MAX
EQUIVALENT_TIME_MEAN EQUIVALENT_TIME_MEAN
EQUIVALENT_TIME_STD EQUIVALENT_TIME_STD
EQUIVALENT_TIME_MIN EQUIVALENT_TIME_MIN
EQUIVALENT_TIME_MAX EQUIVALENT_TIME_MAX
THERMAL_INDEX_MEAN THERMAL_INDEX_MEAN
THERMAL_INDEX_STD THERMAL_INDEX_STD
THERMAL_INDEX_MIN THERMAL_INDEX_MIN
THERMAL_INDEX_MAX THERMAL_INDEX_MAX

Represents the current lifecycle status of a simulation.

Values for SimulationStatus
Name Description
PENDING PENDING
INITIALIZING INITIALIZING
SIMULATING SIMULATING
ARCHIVING ARCHIVING
FINISHED FINISHED
FAILED FAILED
STOPPED STOPPED

Values for Slicer
Name Description
SIMPLIFY3D SIMPLIFY3D
IDEAMAKER IDEAMAKER
CURA CURA
BAMBU_LABS BAMBU_LABS
SUPERSLICER SUPERSLICER
SLIC3R SLIC3R
FUSION360 FUSION360
BAAM BAAM
MW MW
CEAD_BAAM CEAD_BAAM
KRAUSS_MAFFEI KRAUSS_MAFFEI
PIOCREATE PIOCREATE
KUYING KUYING
CEAD CEAD
AI_BUILD AI_BUILD
AI_BUILD_GCODE AI_BUILD_GCODE
AI_BUILD_SRC AI_BUILD_SRC
ADAONE ADAONE
PRUSA_SLICER PRUSA_SLICER
SIGNIFY SIGNIFY
ORCA_SLICER ORCA_SLICER
CARACOL CARACOL
UNKNOWN UNKNOWN

sort direction for paginated queries.

Values for SortDirection
Name Description
ASCENDING ASCENDING
DESCENDING DESCENDING

Values for UserType
Name Description
HOBBYIST HOBBYIST
ACADEMIC ACADEMIC
PROFESSIONAL PROFESSIONAL
INDUSTRIAL INDUSTRIAL

Used for ID's and can be treated as a String

A string datatype

An integer data type

A floating-point data type

A boolean data type

Date with time (isoformat)