Skip to content

Helio-Additive 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 correspondence with us to identify any problems that may have occurred.

Check out our list of Error Codes.

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) Page size (default: 20, max: 100)

Retrieve a list of Events.

Arguments for events
Name Description
page (Int) Page number (1-based index)
pageSize (Int) Page size (default: 20, max: 100)

Retrieve a list of G-Codes.

Arguments for gcodesV2
Name Description
page (Int) The page number to retrieve
pageSize (Int) Page size (default: 20, max: 100)
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: GcodeV2!
Arguments for gcodeV2
Name Description
id (ID!) ID of the Gcode to retrieve
@deprecated
  • Use gcodesV2 instead.
  • Removed on: June 1, 2026

Retrieve a list of G-Codes.

Arguments for gcodes
Name Description
page (Int) The page number to retrieve
pageSize (Int) Page size (default: 20, max: 100)
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
@deprecated
  • Use gcodeV2 instead.
  • Removed on: June 1, 2026

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

Retrieve the current user's free trial claim if they have one.

Check if the current user is eligible to claim a free trial.

Returns: Boolean!

Retrieve the default values for system feature flags.

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 login history for the user.

Returns: [Login!]!

Retrieve personal access tokens for the user.

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 (default: 20, max: 100)

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) Page size (default: 20, max: 100)
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) Page size (default: 20, max: 100)
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 available print priority options for optimization requests.

Arguments for printPriorityOptions
Name Description
materialId (ID) (No description provided)

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.
Unit: K\text{K} Range:≥ 323
stabilizedTemperature (Float)
Stabilized air temperature.
Unit: K\text{K} Range:≥ 323
constantPlatformTemperature (Float)
Constant platform temperature.
Unit: K\text{K} Range:≥ 323

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 a list of available subscriptions.

Arguments for subscriptions
Name Description
page (Int) The page number to retrieve (1-based index).
pageSize (Int) Page size (default: 20, max: 100)

Retrieve a list of available subscriptions.

Arguments for subscriptionAddOns
Name Description
page (Int) The page number to retrieve (1-based index).
pageSize (Int) Page size (default: 20, max: 100)

Retrieve transaction histories for the currently authenticated user.

Arguments for transactionHistoriesForUser
Name Description
page (Int) The page number to retrieve (1-based index).
pageSize (Int) Page size (default: 20, max: 100)

Retrieve the currently authenticated user.

Returns: User!

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

Create a new G-Code.

Returns: GcodeV2!
Arguments for createGcodeV2
Name Description
input (CreateGcodeInputV2!) 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)

Delete an existing Optimization by its ID.

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

Claim a one-time 14-day free trial with unlimited optimizations.

Arguments for claimFreeTrial
Name Description
input (ClaimFreeTrialInput!) (No description provided)

Update an existing G-Code.

Returns: GcodeV2!
Arguments for updateGcodeV2
Name Description
id (ID!) The unique identifier of the G-Code to update.
input (UpdateGcodeInputV2!) 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)
@deprecated
  • Use createSimulationV2 for access to temperature export controls.
  • Removed on: June 1, 2026

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 simulation based on a G-Code (V2 - with temperature export controls).

Returns: Simulation!
Arguments for createSimulationV2
Name Description
input (CreateSimulationInputV2!) Input data for creating a simulation (V2)

Create a Paddle portal session for managing subscriptions.

Create a new personal access token.

Arguments for createPersonalAccessToken
Name Description
name (String!) (No description provided)
expirationDaysDelta (Int!) (No description provided)
@deprecated
  • Use createOptimizationV2 for access to temperature export controls.
  • Removed on: June 1, 2026

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 optimization based on a G-code (V2 - with temperature export controls).

Returns: Optimization!
Arguments for createOptimizationV2
Name Description
input (CreateOptimizationInputV2!) Input data for creating an optimization (V2)

Create a new suggestion for the L-FAM platform.

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

Redeem a free trial code for the platform.

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

Send an OTP to the user's email address.

Arguments for sendOtp
Name Description
email (String!) (No description provided)
proceed (Boolean!) (No description provided)

Stop a running simulation.

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

Stop a running optimization.

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

Verify the OTP sent to the user's email address.

Arguments for verifyOtp
Name Description
email (String!) (No description provided)
otpCode (String!) (No description provided)

Update feedback for a news article.

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

Add feedback for a simulation.

Arguments for addSimulationFeedback
Name Description
input (SimulationFeedbackInput!) (No description provided)

Add feedback for an optimization.

Arguments for addOptimizationFeedback
Name Description
input (OptimizationFeedbackInput!) (No description provided)

Update the authenticated user's feature flag settings.

Returns: User!
Arguments for updateUser
Name Description
input (UpdateUserInput!) (No description provided)

Create a new user.

Returns: User!
Arguments for createUser
Name Description
input (CreateUserInput!) (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.

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.

A caveat.

Fields for Caveat
Name Description
caveatType (CaveatType!) Caveat Type
description (String!) Description of the caveat

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.

Default values for system-wide feature flags.

Fields for FeatureFlagDefaults
Name Description
enableBridgeSpeedSmoothing (Boolean!) Smooths speed transitions over bridges for improved print quality.
enableOptimizeAboveBridge (Boolean!) Optimizes toolpath strategy for layers printed above bridge structures.
enableFanSpeedOptimization (Boolean!) Enable optimizing fan-speeds.
enableAlwaysUseDragonGpu (Boolean!) Forces all simulations to use Dragon GPU acceleration (experimental).

Details of a user's 14-day free trial.

Fields for FreeTrialClaim
Name Description
id (ID!) Unique identifier for the trial claim.
claimedEmail (String!) Email used to claim the trial.
claimedAt (DateTime!) When the trial was claimed.
endsAt (DateTime!) When the trial period ends.
cooldownUntil (DateTime) When the cooldown period ends.
source (String!) Source of the trial claim (STORE, DASHBOARD).
convertedToPaid (Boolean!) Whether the user converted to a paid subscription.
convertedAt (DateTime) When the user converted to paid.
isActive (Boolean!) Whether the trial is currently active.
user (User) User who claimed the trial.
insertedAt (DateTime!) Timestamp when the trial was created.
updatedAt (DateTime!) Timestamp when the trial was last updated.

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.
@deprecated
  • Represents parsed data and metadata extracted from a G-code file. Use GcodeV2 instead.
  • Removed on: June 1, 2026

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

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 (Unit: Kilobytes KBKB )
height (Float!) Maximum height reached during the print (Unit: Meters mm )
width (Float!) Maximum width of the print area (Unit: Meters mm )
depth (Float!) Maximum depth of the print area (Unit: Meters mm )
platformTemperature (GcodeCustomFloat) Platform (bed) temperature used during the print. May be overridden or missing (Unit: Kelvin KK )
nozzleTemperatureMin (GcodeCustomFloat!) Minimum nozzle temperature detected in the G-code (Unit: Kelvin KK )
nozzleTemperatureMax (GcodeCustomFloat!) Maximum nozzle temperature detected in the G-code (Unit: Kelvin KK )
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 (Unit: Meters mm )
roadWidthMax (GcodeCustomFloat!) Maximum road width specified in the G-code (Unit: Meters mm )
layerHeightMin (GcodeCustomFloat!) Minimum layer height specified in the G-code (Unit: Meters mm )
layerHeightMax (GcodeCustomFloat!) Maximum layer height specified in the G-code (Unit: Meters mm )
speedMin (GcodeCustomFloat!) Minimum print speed specified in the G-code (Unit: Meters per second m/sm/s )
speedMax (GcodeCustomFloat!) Maximum print speed specified in the G-code (Unit: Meters per second m/sm/s )
fanSpeedMin (GcodeCustomFloat!) Minimum fan speed used in the G-code as a percentage
fanSpeedMax (GcodeCustomFloat!) Maximum fan speed used in the G-code as a percentage
numberOfLayers (Int!) Total number of layers found in the G-code.
slicer (Slicer!) Slicer software identified from the G-code metadata.
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.
maxFlowRate (Float) Maximum flow rate specified in the G-code, if available (Unit: Meters cubed per second m3s\frac{m^3}{s} )
layerHeightMode (Float) Most frequently used layer height in the G-code, if available. (Unit: Meters mm )
lineWidthMode (Float) Most frequently used line width in the G-code, if available. (Unit: Meters mm )
restrictions ([GcodeRestriction!]!) List of restrictions generated during G-code parsing.
errors ([GcodeError!]!) List of errors encountered during G-code parsing, if any.
printerId (ID!) ID of the printer associated with this G-code.
materialId (ID!) ID of the material used in this G-code.
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.

Fields for GcodeErrorV2
Name Description
type (GcodeError!) The type of error that occurred.
line (Int) The line number where the error occurred, if available.

Fields for GcodeRestrictionInfo
Name Description
restriction (GcodeRestriction!) The type of restriction
description (String!) Description of the restriction, including a link to the policy

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

Fields for GcodeV2
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.
Unit: m\text{m}
width (Float)
Maximum width of the print area.
Unit: m\text{m}
depth (Float)
Maximum depth of the print area.
Unit: m\text{m}
weight (Float)
Weight of the print.
Unit: kg\text{kg}
status (GcodeStatus!) Status of the G-code file.
progress (Float!) Progress of the G-code file parsing.
platformTemperature (GcodeCustomFloat)
Platform (bed) temperature used during the print. May be overridden or missing.
Unit: K\text{K}
nozzleTemperatureMin (GcodeCustomFloat)
Minimum nozzle temperature detected in the G-code.
Unit: K\text{K}
nozzleTemperatureMax (GcodeCustomFloat)
Maximum nozzle temperature detected in the G-code.
Unit: K\text{K}
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.
Unit: m\text{m}
roadWidthMax (GcodeCustomFloat)
Maximum road width specified in the G-code.
Unit: m\text{m}
layerHeightMin (GcodeCustomFloat)
Minimum layer height specified in the G-code.
Unit: m\text{m}
layerHeightMax (GcodeCustomFloat)
Maximum layer height specified in the G-code.
Unit: m\text{m}
speedMin (GcodeCustomFloat)
Minimum print speed specified in the G-code.
Unit: m/s\text{m/s}
speedMax (GcodeCustomFloat)
Maximum print speed specified in the G-code.
Unit: m/s\text{m/s}
fanSpeedMin (GcodeCustomFloat)
Minimum fan speed used in the G-code.
Unit: %\text{\%} Range:0 – 100
fanSpeedMax (GcodeCustomFloat)
Maximum fan speed used in the G-code.
Unit: %\text{\%} Range:0 – 100
numberOfLayers (Int) Total number of layers found in the G-code.
slicer (Slicer) Slicer software identified from the G-code metadata.
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.
maxFlowRate (Float)
Maximum flow rate specified in the G-code, if available.
Unit: m3s\frac{m^3}{s}
layerHeightMode (Float)
Most frequently used layer height in the G-code, if available.
Unit: m\text{m}
lineWidthMode (Float)
Most frequently used line width in the G-code, if available.
Unit: m\text{m}
restrictions ([GcodeRestriction!]!) List of restrictions generated during G-code parsing.
restrictionsV2 ([GcodeRestrictionInfo!]!) List of restrictions generated during G-code parsing.
errors ([GcodeError!]!) List of errors encountered during G-code parsing, if any.
errorsV2 ([GcodeErrorV2!]!) List of errors with line numbers encountered during G-code parsing, if any.
materialId (ID!) Material ID associated with the G-code.
printerId (ID!) Printer ID associated with the G-code.
insertedAt (DateTime!) Timestamp when the G-code was first processed or uploaded.
updatedAt (DateTime!) Timestamp of the last update to this G-code record.

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.
paddlePriceId (String) Paddle price ID for the subscription.
price (String) Price of the subscription plan, if applicable.
features ([String!]!) List of features included in the subscription plan.
disclaimers ([String!]!) List of disclaimers or conditions associated with the subscription plan.
button (String) Button text for the subscription plan.
category (String) Category of the subscription plan.
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.
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.
auth0EmailVerified (Boolean) Indicates if the Auth0 email has been verified.

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 (GcodeV2!) G-code file associated with the optimization run.
optimizedThermalIndexStatistics (OptimizedThermalIndexStatistics!) Statistics related to thermal indices in the optimization run.
originalThermalIndexStatistics (ThermalIndexStatistics!) Statistics related to thermal indices in the original run.
optimizeOuterwall (Boolean!) Whether to optimize the outer wall of the print.
printPriority (PrintPriority) Print priority selection for this optimization.
enhanceSurfaceGloss (Boolean!) Whether to enhance surface gloss for silk/glossy materials.
qualityMeanDelta (Float) Absolute delta in mean quality between the original and optimized runs.
qualityMeanDeltaPcnt (Float) Percentage delta in mean quality between the original and optimized runs.
qualityStdDelta (Float) Absolute delta in standard deviation of quality between the original and optimized runs.
qualityStdDeltaPcnt (Float) Percentage delta in standard deviation of quality between the original and optimized runs.
qualityMeanImprovement (OptimizationImprovement) Improvement category based on absolute delta in mean quality.
qualityStdImprovement (OptimizationImprovement) Improvement category based on absolute delta in standard deviation of quality.
originalPrintInfo (PrintInfo) Information relating to the original print.
optimizedPrintInfo (PrintInfo) Information relating to the optimized print.
speedFactor (Float) How much we can improve the flow rate set
materialId (ID!) Material ID associated with the G-code.
printerId (ID!) Printer ID associated with the G-code.
insertedAt (DateTime!) Timestamp when the simulation was created.
updatedAt (DateTime!) Timestamp when the simulation was last updated.

Fields for OptimizationFeedback
Name Description
id (ID!) ID of the feedback
optimizationId (ID!) ID of the optimization
rating (Float!) Rating of the optimization
comment (String) Comments about the optimization

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.
Unit: m/s\text{m/s} Range:≥ 0
maxVelocity (Float!)
Maximum velocity allowed during optimization.
Unit: m/s\text{m/s} Range:≥ 0
minVelocityIncrement (Float!)
Minimum velocity increment allowed.
Unit: m/s\text{m/s} Range:≥ 0
minExtruderFlowRate (Float!)
Minimum extruder flow rate during optimization.
Unit: m3s\frac{m^3}{s} Range:≥ 0
maxExtruderFlowRate (Float!)
Maximum extruder flow rate during optimization.
Unit: m3s\frac{m^3}{s} Range:≥ 0
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.
optimizeOuterwall (Boolean!) Whether to optimize the outer wall of the print.

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.
Unit: K\text{K} Range:≥ 323
overrideConstantLayerHeight (Float)
Constant layer height override.
Unit: m\text{m}
overrideConstantRoadWidth (Float)
Constant road width override.
Unit: m\text{m}
overrideConstantPlatformTemperature (Float)
Constant platform temperature override.
Unit: K\text{K} Range:≥ 323

Fields for PaddlePortalSessionResponse
Name Description
url (String)
error (String)

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 ([Simulation | Optimization | Event | GcodeV2 | Faq | NewsArticle | TransactionHistory | HelioSubscription | SubscriptionAddOn | Gcode!]!) 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.

Information relating to the print.

Fields for PrintInfo
Name Description
printOutcome (PrintOutcome!) Outcome of the print.
printOutcomeDescription (String!) Localized outcome of the print.
temperatureDirection (TemperatureDirection!) Temperature direction associated with the print.
temperatureDirectionDescription (String!) Localized temperature direction associated with the print.
caveats ([Caveat!]!) Caveats associated with the print.

A print priority option for dropdown selection.

Fields for PrintPriorityOption
Name Description
value (PrintPriority!) The enum value to send in mutations
label (String!) Human-readable label for the option
description (String!) Detailed description of what this priority does
isAvailable (Boolean!) Whether this option is available for the queried material. False means it should be disabled/greyed out in the UI.

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.

Fields for SendOtpResponse
Name Description
success (Boolean!)
messageId (String)
error (String)

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 (GcodeV2!) G-code used to run 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.
materialId (ID!) Material ID associated with the G-code.
printerId (ID!) Printer ID associated with the G-code.
printInfo (PrintInfo) Information relating to the print.
speedFactor (Float) How much we can improve the flow rate set
suggestedFixes ([SuggestedFix!]!) List of suggested fixes for 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 SimulationFeedback
Name Description
id (ID!) ID of the feedback
simulationId (ID!) ID of the simulation
rating (Float!) Rating of the simulation
comment (String) Comments about the simulation

Fields for SimulationSettings
Name Description
airTemperatureAboveBuildPlate (Float!)
Ambient air temperature just above the build plate.
Unit: K\text{K} Range:≥ 323
temperatureStabilizationHeight (Float!)
Height at which temperature stabilization occurs.
Unit: m\text{m}
stabilizedAirTemperature (Float!)
The temperature maintained at the stabilization height.
Unit: K\text{K} Range:≥ 323
constantPlatformTemperature (Float)
Optional override for the platform (bed) temperature.
Unit: K\text{K} Range:≥ 323
constantNozzleTemperature (Float)
Optional override for the nozzle temperature.
Unit: K\text{K} Range:≥ 323
constantFanSpeed (Float)
Optional override for fan speed as a percentage.
Unit: %\text{\%} Range:0 – 100
temperatureHistoryDatapointsPerElement (Int) Controls the density (resolution) of exported temperature data per element. Higher values provide more detailed temperature history.
temperatureHistoryLengthMultiplier (Int) Controls the length (time duration) of exported temperature history data. Higher values extend the time range of recorded temperature data.

Details of subscription add on.

Fields for SubscriptionAddOn
Name Description
id (ID!) Unique identifier for the code group.
subscriptions ([HelioSubscription!]!) List of associated subscriptions.
name (String!) Name of the code group.
description (String) Description of add on
addOnOptimizationsCount (Int!) Amount of extra optimizations
addOnPriceId (String!) Price id from paddle
price (String) Price of the subscription add-on, if applicable.
features ([String!]!) List of features included in the subscription add-on.
disclaimers ([String!]!) List of disclaimers or conditions associated with the subscription add-on.
button (String) Button text for the subscription add-on.
category (String) Category of the subscription plan.
insertedAt (DateTime!) Timestamp when the add-on group was created.
updatedAt (DateTime!) Timestamp when the add-on group was last updated.

A suggested fix.

Fields for SuggestedFix
Name Description
orderIndex (Int) Order index of the suggested fix
category (SuggestedFixCategory!) Category of the suggested fix
fix (String!) Fix to be applied
extraDetails ([String!]!) Extra details about the suggested fix

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.
type (TransactionType!) Type of transaction (e.g., subscription, add-on).
subscription (HelioSubscription) Subscription associated with this transaction, if applicable.
addOn (SubscriptionAddOn) Add-on associated with this transaction, if applicable.
addOnOptimizations (Int) Number of bonus optimizations granted by the add-on, if applicable.
subscriptionStartDate (DateTime) Start date of the subscription associated with this transaction.
subscriptionEndDate (DateTime) End date of the subscription associated with this transaction.
paddleBillingStatus (String) Status of current transaction
insertedAt (DateTime!) Timestamp when the transaction record was created.
updatedAt (DateTime!) Timestamp when the transaction record was last updated.

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.
paddleBillingPeriodStart (DateTime) Start date of the Paddle billing period.
paddleBillingPeriodEnd (DateTime) End date of the Paddle billing period.
paddleNextBilledAt (DateTime) Next billing date for the Paddle subscription, if applicable.
paddleBillingCycleInterval (String) Interval for Paddle billing cycles (e.g., monthly, yearly).
paddleBillingCycleFrequency (Int) Frequency of Paddle billing cycles (e.g., 1 for monthly, 12 for yearly).
paddleBillingStatus (String) Status of current transaction
addOnOptimizations (Int) Bonus optimizations
logins ([Login!]!) List of user login records.
paddleCustomerId (String) Paddle customer ID associated with the subscription.
lastOtpRequestedAt (DateTime) Timestamp of the last OTP request for this user.
enableBridgeSpeedSmoothing (Boolean) Smooths speed transitions over bridges for improved print quality.
enableOptimizeAboveBridge (Boolean) Optimizes toolpath strategy for layers printed above bridge structures.
enableFanSpeedOptimization (Boolean) Enable optimizing fan-speeds.
enableAlwaysUseDragonGpu (Boolean) Forces all optimizations to use Dragon GPU acceleration (experimental).
isFreeTrialClaimed (Boolean!) Whether user has ever claimed a free trial.
isFreeTrialActive (Boolean!) Whether user's free trial is currently active.
freeTrialEndsAt (DateTime) When the free trial ends (if claimed).
isFreeTrialConvertedToPaid (Boolean!) Whether user converted trial to paid subscription.
membershipStatus (String!) Indicates if the user has an active subscription.

Fields for VerifyOtpResponse
Name Description
success (Boolean!)
error (String)

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

Fields for ClaimFreeTrialInput
Name Description
source (TrialSource!) The source from which the trial is being claimed (STORE or DASHBOARD).

Fields for CreateGcodeInputV2
Name Description
name (String!) The name of the gcode.
description (String) The description of the gcode.
materialId (ID!) The ID of the material.
printerId (ID!) The ID of the printer.
gcodeKey (String!) The key of the gcode.
isSingleShell (Boolean!) Whether the gcode is single shell.
isMultiMaterial (Boolean) Whether the gcode is multi-material.
isMultiColor (Boolean) Whether the gcode is multi-color.
overrideConstantNozzleTemperature (Float)
A constant nozzle temperature to override with.
Unit: K\text{K} Range:≥ 323
overrideConstantLayerHeight (Float)
A constant layer height to override with.
Unit: m\text{m} Range:≥ 0
overrideConstantLineWidth (Float)
A constant line width to override with.
Unit: m\text{m} Range:≥ 0
overrideConstantPlatformTemperature (Float)
A constant platform temperature to override with.
Unit: K\text{K} Range:≥ 323

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 CreateOptimizationInputV2
Name Description
name (String!) User-defined name for the optimization run.
gcodeId (ID!) Unique identifier of the G-code to optimize.
simulationSettings (SimulationSettingsInputV2) 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 CreateSimulationInputV2
Name Description
name (String!) User-defined name for the simulation.
gcodeId (ID!) Unique identifier of the G-code to simulate.
simulationSettings (SimulationSettingsInputV2) Settings related to the simulation environment and parameters.

Fields for CreateSuggestionInput
Name Description
content (String) Suggestion.

Input for creating a user.

Fields for CreateUserInput
Name Description
email (String) Email address, if possible.

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 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 OptimizationFeedbackInput
Name Description
optimizationId (ID!) Unique identifier of the optimization.
rating (Float!) Rating given by the user (0.0 - 1.0)
comment (String!) Comment or feedback provided by the user.

Fields for OptimizationSettingsInput
Name Description
minVelocity (Float)
Minimum print head velocity during optimization.
Unit: m/s\text{m/s} Range:≥ 0
maxVelocity (Float)
Maximum print head velocity during optimization.
Unit: m/s\text{m/s} Range:≥ 0
minVelocityIncrement (Float)
Minimum step size to increment velocity values during optimization.
Unit: m/s\text{m/s} Range:≥ 0
minExtruderFlowRate (Float)
Minimum allowed extruder flow rate during optimization.
Unit: m³/s\text{m³/s} Range:≥ 0
maxExtruderFlowRate (Float)
Maximum allowed extruder flow rate during optimization.
Unit: m³/s\text{m³/s} Range:≥ 0
tolerance (Float)
Tolerance threshold for optimization convergence.
Range:≥ 0
maxIterations (Int)
Maximum number of iterations allowed during optimization.
Range:≥ 1
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.
optimizeOuterwall (Boolean)
@deprecated
  • Use print_priority instead for more granular control over optimization behavior.
  • Removed on: June 1, 2026
Flag to indicate whether to optimize the outer wall of the print.
printPriority (PrintPriority) Print priority selection for optimization (e.g., Speed & Strength, Preserve Surface Finish, Enhance Surface Gloss).

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.
Unit: nodes/m\text{nodes/m} Range:≥ 0
autolinearCriticalityThreshold (Float)
Thermal index threshold for triggering criticality-based reduction.
Range:0 – 1
autolinearFitnessMaxNodesDensity (Float)
Maximum nodes density for fitness-based auto-linear reduction.
Unit: nodes/m\text{nodes/m} Range:≥ 0
autolinearFitnessThreshold (Float)
Fitness threshold for triggering fitness-based reduction.
Range:0 – 1
autolinearInterpolationLevels (Int)
Number of interpolation levels to apply in auto-linear strategy.
Range:≥ 1
linearNodesLimit (Int)
Maximum number of nodes allowed for the linear reduction strategy.
Range:≥ 1

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.
Range:≥ 0
exponentialPenaltyLow (Float)
Penalty applied to residuals below the target range when using exponential strategy.
Range:≥ 0

Fields for SimulationFeedbackInput
Name Description
simulationId (ID!) Unique identifier of the simulation.
rating (Float!) Rating given by the user (0.0 - 1.0)
comment (String!) Comment or feedback provided by the user.

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.
Unit: K\text{K} Range:≥ 323
airTemperatureAboveBuildPlate (Float)
Ambient air temperature just above the build plate.
Unit: K\text{K} Range:≥ 323
temperatureStabilizationHeight (Float)
The height at which the air temperature around the print begins to stabilize.
Unit: m\text{m} Range:≥ 0
stabilizedAirTemperature (Float)
The temperature maintained at the stabilization height.
Unit: K\text{K} Range:≥ 323
constantPlatformTemperature (Float)
Optional override for the platform (bed) temperature.
Unit: K\text{K} Range:≥ 323
constantNozzleTemperature (Float)
Optional override for the nozzle temperature.
Unit: K\text{K} Range:≥ 323
constantFanSpeed (Float)
Optional override for fan speed as a percentage.
Unit: %\text{\%} Range:0 – 100

Fields for SimulationSettingsInputV2
Name Description
roomTemperature (Float)
Ambient air temperature in the room.
Unit: K\text{K} Range:≥ 323
airTemperatureAboveBuildPlate (Float)
Ambient air temperature just above the build plate.
Unit: K\text{K} Range:≥ 323
temperatureStabilizationHeight (Float)
The height at which the air temperature around the print begins to stabilize.
Unit: m\text{m} Range:≥ 0
stabilizedAirTemperature (Float)
The temperature maintained at the stabilization height.
Unit: K\text{K} Range:≥ 323
constantPlatformTemperature (Float)
Optional override for the platform (bed) temperature.
Unit: K\text{K} Range:≥ 323
constantNozzleTemperature (Float)
Optional override for the nozzle temperature.
Unit: K\text{K} Range:≥ 323
constantFanSpeed (Float)
Optional override for fan speed as a percentage.
Unit: %\text{\%} Range:0 – 100
temperatureHistoryDatapointsPerElement (Int)
Controls the density (resolution) of exported temperature data per element. Higher values provide more detailed temperature history.
Range:≥ 1
temperatureHistoryLengthMultiplier (Int)
Controls the length (time duration) of exported temperature history data. Higher values extend the time range of recorded temperature data.
Range:≥ 1

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 UpdateGcodeInputV2
Name Description
name (String!) The name of the gcode.
materialId (ID!) The ID of the material.
printerId (ID!) The ID of the printer.
isSingleShell (Boolean!) Whether the gcode is single shell.
overrideConstantLayerHeight (Float)
The layer height.
Unit: m\text{m} Range:≥ 0
overrideConstantLineWidth (Float)
The line width.
Unit: m\text{m} Range:≥ 0
overrideConstantPlatformTemperature (Float)
The platform temperature.
Unit: K\text{K} Range:≥ 323
overrideConstantNozzleTemperature (Float)
The nozzle temperature.
Unit: K\text{K} Range:≥ 323

Input for updating user settings and feature flags.

Fields for UpdateUserInput
Name Description
enableBridgeSpeedSmoothing (Boolean) Smooths speed transitions over bridges for improved print quality.
enableOptimizeAboveBridge (Boolean) Optimizes toolpath strategy for layers printed above bridge structures.
enableFanSpeedOptimization (Boolean) Enable optimizing fan-speeds.
enableAlwaysUseDragonGpu (Boolean) Forces all optimizations to use Dragon GPU acceleration (experimental).

Values for CaveatType
Name Description
OVERCOOLING_WITH_SEVERE_OVERHEATED_LAYERS Some layers show severe overheating and may fail in those regions.
OVERCOOLING_WITH_OVERHEATED_LAYERS Some layers show overheating, which may cause local sagging or loss of detail.
OVERHEATING_WITH_SEVERE_OVERCOOLED_LAYERS Some layers cool extremely fast, which may cause weak layer adhesion.
OVERHEATING_WITH_OVERCOOLED_LAYERS Some layers cool faster than average, which may not achieve best strength.
OVERCOOLING_WITH_SEVERE_OVERCOOLED_LAYERS Some layers are severely overcooled and may fail.
OVERCOOLING_WITH_OVERCOOLED_LAYERS Some layers cool much faster than the overall average.
OVERHEATING_WITH_SEVERE_OVERHEATED_LAYERS Some layers are severely overheated and may fail.
OVERHEATING_WITH_OVERHEATED_LAYERS Some layers retain significantly more heat than average.
OVERCOOLED_LAYERS Some layers are overcooled.
SEVERE_OVERCOOLED_LAYERS Some layers are severely overcooled and may fail.
OVERHEATED_LAYERS Some layers are overheated.
SEVERE_OVERHEATED_LAYERS Some layers are severely overheated and may fail.

Category that classifies the type of FAQ.

Values for FaqCategory
Name Description
MATERIAL FAQs related to materials.
SIMULATION FAQs related to simulation processes.
GCODE FAQs related to G-Code files and handling.

Values for FloatType
Name Description
NEG_INF Represents negative infinity (−∞).
POS_INF Represents positive infinity (+∞).
NAN Not-a-Number — represents undefined or unrepresentable values.
VALUE A regular float value.

Values for GcodeError
Name Description
HAS_NEGATIVE_Z_COORDINATES Negative Z-coordinates were detected in the G-code.
HAS_NO_COMMANDS No valid command was detected in the G-code.
HAS_UNCERTAIN_ENCODING Uncertain encoding was detected in the G-code.
HAS_ZERO_SPEED Zero speed was detected in the G-code.
HAS_MULTI_MATERIAL_PRINTING Multi-material or multi-color printing commands were detected in the G-code.
COMMAND_FORMAT_ERROR Command format error was detected in the G-code.
COMMENT_FORMAT_ERROR Comment format error was detected in the G-code.
VALUE_ERROR A value error was detected in the G-code during parsing.
LAYER_HEIGHT_NOT_FOUND Layer height was not detected in the G-code.
LINE_WIDTH_NOT_FOUND Line width was not detected in the G-code.
NOZZLE_TEMPERATURE_NOT_FOUND Nozzle temperature was not detected in the G-code.
PLATFORM_TEMPERATURE_NOT_FOUND Platform temperature was not detected in the G-code.
INTERNAL_ERROR Something unexpected happened during parsing, this should be reported to us.
MULTI_MATERIAL_UNABLE_TO_DETECT_MATERIAL_SWITCH Unable to properly detect material switch in the multi-material G-code.

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

Values for GcodeRestriction
Name Description
SIZE_TOO_LARGE
WEIGHT_TOO_HEAVY

Values for GcodeStatus
Name Description
INITIALIZING Initializing a parser to parse a G-Code.
PARSING Parsing the G-Code.
READY Finished parsing the G-Code and it is now ready to be used.
ERROR Errors occurred preventing this G-Code to be used. See GcodeError for more details.
RESTRICTED The G-Code contains no specific errors, but is restricted from simulations & optimizations due to size or weight.

Values for LoginType
Name Description
USERNAME_PASSWORD User logs in using a username and password combination.
AUTH_0 User logs in using Auth0.

Status of a news article.

Values for NewsArticleStatus
Name Description
UNDER_CONSIDERATION The article is currently being reviewed or considered for publication.
IN_DEVELOPMENT The article is actively being written or developed.
RECENTLY_RELEASED The article has been published recently.

Tags associated with a news article.

Values for NewsArticleTag
Name Description
PRINTER Articles related to printers.
MATERIAL Articles related to materials used in 3D printing.
GCODE Articles related to G-code, the language used to control 3D printers.
SIMULATION Articles related to simulation processes in 3D printing.
COMPANY Articles related to companies in the 3D printing industry.
UPDATES Articles that provide updates on various topics.
MISC Miscellaneous articles that do not fit into other categories.

Values for OptimizationImprovement
Name Description
LOW Simulation improved.
MEDIUM Simulation improved moderately.
HIGH Simulation improved significantly.

Values for OptimizationReductionStrategy
Name Description
AUTOLINEAR Automatically adjusts nodes and strategies based on conditions.
LINEAR Applies a fixed linear reduction of nodes.
NO_STRATEGY No reduction strategy is applied.

Values for OptimizationResidualStrategy
Name Description
LINEAR Applies a fixed linear reduction of nodes.
EXPONENTIAL Applies an exponential reduction of nodes.

Values for Optimizer
Name Description
FULL Full Optimizer
HYBRID Hybrid Optimizer

Values for PrintOutcome
Name Description
WILL_PRINT Will Print
MAY_PRINT May print with issues
LIKELY_FAIL Will likely fail to print

Print priority options for optimization requests.

Values for PrintPriority
Name Description
SPEED_AND_STRENGTH Optimizes outer walls for improved performance. (Formerly 'Optimize Outer Walls: Yes')
PRESERVE_SURFACE_FINISH Maintains your original outer wall speed settings. (Formerly 'Optimize Outer Walls: No')
ENHANCE_SURFACE_GLOSS Optimizes for silk/glossy materials with enhanced surface finish.

Defines the type or format of a simulation asset.

Values for SimulationAssetType
Name Description
PARQUET Asset is in Apache Parquet format.
JSON Asset is in JSON format.

Defines the simulation fields

Values for SimulationField
Name Description
NAME Name of the simulation.
STATUS Current status of the simulation.
IS_BAAM Indicates if the simulation is a LFAM (Large Format Additive Manufacturing) simulation.
IS_OPTIMIZATION Indicates if the simulation is an optimization simulation.
PROGRESS Current progress of the simulation, represented as a percentage.
PRINTABILITY Printability score of the simulation, indicating how suitable the design is for printing.
BONDING_RATE_MEAN Mean bonding rate of the simulation, indicating the average adhesion strength between layers.
BONDING_RATE_STD Standard deviation of the bonding rate, indicating variability in adhesion strength.
BONDING_RATE_MIN Minimum bonding rate observed in the simulation, indicating the weakest adhesion strength.
BONDING_RATE_MAX Maximum bonding rate observed in the simulation, indicating the strongest adhesion strength.
EQUIVALENT_TIME_MEAN Mean equivalent time for the simulation, representing the average time taken for the process.
EQUIVALENT_TIME_STD Standard deviation of the equivalent time, indicating variability in process duration.
EQUIVALENT_TIME_MIN Minimum equivalent time observed in the simulation, indicating the shortest process duration.
EQUIVALENT_TIME_MAX Maximum equivalent time observed in the simulation, indicating the longest process duration.
THERMAL_INDEX_MEAN Mean thermal index of the simulation, indicating the average thermal performance.
THERMAL_INDEX_STD Standard deviation of the thermal index, indicating variability in thermal performance.
THERMAL_INDEX_MIN Minimum thermal index observed in the simulation, indicating the lowest thermal performance.
THERMAL_INDEX_MAX Maximum thermal index observed in the simulation, indicating the highest thermal performance.

Represents the current lifecycle status of a simulation.

Values for SimulationStatus
Name Description
PENDING Simulation is queued and waiting to start.
INITIALIZING Simulation is preparing resources and initializing.
SIMULATING Simulation is currently running.
ARCHIVING Simulation has completed and is archiving results.
FINISHED Simulation completed successfully.
FAILED Simulation encountered an error and failed.
STOPPED Simulation was manually stopped before completion.

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

sort direction for paginated queries.

Values for SortDirection
Name Description
ASCENDING
DESCENDING

The category for a suggested fix.

Values for SuggestedFixCategory
Name Description
QUICK Quick fix
ADVANCED Advanced fix
EXPERT Expert fix

Values for TemperatureDirection
Name Description
NONE Temperature is within range
OVERCOOLING Temperature is too low
OVERHEATING Temperature is too high

Values for TransactionType
Name Description
SUBSCRIPTION
ADD_ON
PAYMENT_FAILED

Source of the free trial claim.

Values for TrialSource
Name Description
STORE Trial claimed from the store/pricing page.
DASHBOARD Trial claimed from the user dashboard.

Values for UserType
Name Description
HOBBYIST User is a hobbyist, often engaging in 3D printing for personal projects or fun.
ACADEMIC User is affiliated with an academic institution, likely using 3D printing for research or educational purposes.
PROFESSIONAL User uses 3D printing in a professional context, often for commercial purposes or in a business setting.
INDUSTRIAL User is part of an industrial setting, using 3D printing for large scale or high-end applications.

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