Structural materials
Get List
Returns all items with optional filtering, pagination and sub-resource expansion.
Results are always sorted by Id ascending.
Pagination metadata is returned in response headers (Total-Count, Offset, Limit).
Expand defaults to none on list endpoints so payloads stay lean;
pass Expand=all to hydrate sub-resources. Sub-resource expansion is
opt-in per resource type โ resources that don't define sub-resources ignore the parameter.
query Parameters
materialsMaterial Ids to filter by, in SG list format (e.g. "1,3-7,10").
Omit to return all materials.
offsetNumber of items to skip from the start of the result set. Default is 0.
limitMaximum number of items to return. Default is null (return all).
expandSub-resource expansion. Defaults to none; pass all to hydrate sub-resources.
Controls sub-resource hydration on entity GET endpoints.
Shared across every resource that supports expansion โ a given resource's
metadata (expandable) lists which sub-resources All hydrates.
Get List โบ Responses
OK
idPrimary identifier - must be unique, no duplicates allowed. Range: 1 to int.MaxValue
nameMaterial name.
youngsModulusYoung's modulus.
poissonsRatioPoisson's ratio (unitless).
massDensityMass density.
thermalCoeffThermal expansion coefficient.
concreteStrengthConcrete compressive strength.
sourceIndicates whether a section or material was user-defined or imported from a library.
libraryLibrary name. Empty for user-defined materials.
Create
Creates a new item. If a validator is registered, the item is validated before creation.
Create โบ Request Body
nameMaterial name.
idPrimary identifier - must be unique, no duplicates allowed. Optional - will be auto-assigned to next available number if not provided. If provided, must not already exist in the model.
youngsModulusYoung's modulus. Must be greater than zero.
poissonsRatioPoisson's ratio (unitless).
massDensityMass density. Must be greater than zero.
thermalCoeffThermal expansion coefficient.
concreteStrengthConcrete compressive strength.
Create โบ Responses
Created
idPrimary identifier - must be unique, no duplicates allowed. Range: 1 to int.MaxValue
nameMaterial name.
youngsModulusYoung's modulus.
poissonsRatioPoisson's ratio (unitless).
massDensityMass density.
thermalCoeffThermal expansion coefficient.
concreteStrengthConcrete compressive strength.
sourceIndicates whether a section or material was user-defined or imported from a library.
libraryLibrary name. Empty for user-defined materials.
Get by Id
Expand defaults to all on the single-item endpoint; pass Expand=none
to suppress sub-resource hydration. Sub-resource expansion is opt-in per resource type โ
resources that don't define sub-resources ignore the parameter.
path Parameters
idThe entity Id
query Parameters
expandSub-resource expansion. Defaults to all; pass none to suppress sub-resource hydration.
Controls sub-resource hydration on entity GET endpoints.
Shared across every resource that supports expansion โ a given resource's
metadata (expandable) lists which sub-resources All hydrates.
Get by Id โบ Responses
OK
idPrimary identifier - must be unique, no duplicates allowed. Range: 1 to int.MaxValue
nameMaterial name.
youngsModulusYoung's modulus.
poissonsRatioPoisson's ratio (unitless).
massDensityMass density.
thermalCoeffThermal expansion coefficient.
concreteStrengthConcrete compressive strength.
sourceIndicates whether a section or material was user-defined or imported from a library.
libraryLibrary name. Empty for user-defined materials.
Delete
Deletes the entity with the supplied Id. Returns 404 if no entity with that Id exists.
For entities whose delete cascades (Nodes, Members, Plates), returns 200 with a SpaceGassApi.Models.Dtos.Entity.DeleteResultDto listing every row removed โ the entity itself, child rows that referenced it (loads, restraints, offsets, plate cuts, โฆ), and any nodes left disconnected by the removal. Cleanup is best-effort, not transactional across datasheets: on failure the affected datasheets are reloaded from disk and the request fails.
For all other entities, returns 204 No Content and removes only the entity's own row.
path Parameters
idThe entity Id
Delete โบ Responses
OK
nodesIds of nodes removed (the requested node(s) plus any orphaned by member/plate removal).
membersIds of members removed because one of their end nodes was deleted.
platesIds of plates removed because one of their corner nodes was deleted.
nodeRestraintsNode Ids whose restraint row was removed.
nodeConstraintsSlave-node Ids of constraint rows removed (a constraint is dropped if either its slave or master node is deleted).
memberOffsetsMember Ids whose offset row was removed.
plateCutsIds of plate cuts removed (a cut references two plates and two nodes).
plateStripsIds of plate strips removed (a strip references two plates and two nodes).
Composite keys (case + node) of node loads removed.
Composite keys (case + node) of prescribed displacements removed.
Composite keys (case + node) of lumped mass loads removed.
Composite keys (case + member + subLoad) of member concentrated loads removed.
Composite keys (case + member + subLoad) of member distributed loads removed.
Composite keys (case + member + subLoad) of member distributed moments removed.
Composite keys (case + member) of member prestress loads removed.
Composite keys (case + plate) of plate pressure loads removed.
Composite keys (case + element + elementType) of thermal loads removed.
membersDirectionResetIds of surviving members whose direction reference pointed at a deleted node and was therefore reverted to the default orientation (angle 0). These members were not removed.
platesDirectionResetIds of surviving plates whose direction reference pointed at a deleted node and was therefore reverted to the default orientation (angle 0). These plates were not removed.
totalRemovedTotal number of rows removed across all entity types.
Update
Updates an existing item. If a validator is registered, the update is validated first.
path Parameters
idThe entity Id
Update โบ Request Body
idPrimary identifier of the entity to update. Optional for single updates (Id comes from route), required for bulk updates.
nameMaterial name.
youngsModulusYoung's modulus. Must be greater than zero if provided.
poissonsRatioPoisson's ratio (unitless).
massDensityMass density. Must be greater than zero if provided.
thermalCoeffThermal expansion coefficient.
concreteStrengthConcrete compressive strength.
Update โบ Responses
OK
idPrimary identifier - must be unique, no duplicates allowed. Range: 1 to int.MaxValue
nameMaterial name.
youngsModulusYoung's modulus.
poissonsRatioPoisson's ratio (unitless).
massDensityMass density.
thermalCoeffThermal expansion coefficient.
concreteStrengthConcrete compressive strength.
sourceIndicates whether a section or material was user-defined or imported from a library.
libraryLibrary name. Empty for user-defined materials.
Get Metadata
Returns the resource metadata document โ field schema, data types, units resolved against current job units, allowed values for enum fields, and validation bounds. Clients use this to drive UI, form validation, and schema introspection.
Get Metadata โบ Responses
OK
resourceTypeIdentifies entity types managed by the API. Kept separate from SGFileID to allow for future API-only entities that may not have a formal SPACE GASS FileID.
countCurrent count of items in this resource. Null for sub-resources whose count does not apply uniformly.
maxIdMaximum Id currently in use (single-int Id entities only).
nextIdNext available Id (single-int Id entities only).
Field definitions describing the resource's wire shape. Each entry corresponds
to a property on the read DTO; jsonName matches the JSON key clients see.
Create Bulk
Creates multiple items in a bulk operation. If a validator is registered, all items are validated upfront before any are created.
query Parameters
continueOnErrorWhether to continue processing after individual failures
Create Bulk โบ Request Body
nameMaterial name.
idPrimary identifier - must be unique, no duplicates allowed. Optional - will be auto-assigned to next available number if not provided. If provided, must not already exist in the model.
youngsModulusYoung's modulus. Must be greater than zero.
poissonsRatioPoisson's ratio (unitless).
massDensityMass density. Must be greater than zero.
thermalCoeffThermal expansion coefficient.
concreteStrengthConcrete compressive strength.
Create Bulk โบ Responses
OK
Successfully processed items.
Errors from failed items.
errorsTruncatedTrue when the bulk operation stopped accumulating errors after reaching SpaceGassApi.Models.Dtos.Entity.BulkResultDto`1.ErrorMessageCap. Further failures may exist beyond what is reported.
Delete Bulk
Deletes multiple entities by Id. The body is a JSON array of integer Ids
(e.g. [1, 5, 10]) โ consistent with every other bulk-delete endpoint
in the API (see CLAUDE.md "Query Parameter Conventions").
For cascading entities (Nodes, Members, Plates), continueOnError governs only the
per-Id existence pre-check: a missing Id is reported and, when false, aborts the
batch. The cascade itself is planned and executed as a single unit โ if cleanup fails
mid-execution the entire batch is rolled back (affected datasheets are reloaded), so no
partial cascade is persisted.
query Parameters
continueOnErrorWhether to continue on error
Delete Bulk โบ Responses
Returns a bulk result whose succeeded entries each carry the deleted Id.
Successfully processed items.
Errors from failed items.
errorsTruncatedTrue when the bulk operation stopped accumulating errors after reaching SpaceGassApi.Models.Dtos.Entity.BulkResultDto`1.ErrorMessageCap. Further failures may exist beyond what is reported.
Update Bulk
Updates multiple items in a bulk operation. Each item must include its Id in the request body. If a validator is registered, all items are validated upfront before any are updated.
query Parameters
continueOnErrorWhether to continue processing after individual failures
Update Bulk โบ Request Body
idPrimary identifier of the entity to update. Optional for single updates (Id comes from route), required for bulk updates.
nameMaterial name.
youngsModulusYoung's modulus. Must be greater than zero if provided.
poissonsRatioPoisson's ratio (unitless).
massDensityMass density. Must be greater than zero if provided.
thermalCoeffThermal expansion coefficient.
concreteStrengthConcrete compressive strength.
Update Bulk โบ Responses
OK
Successfully processed items.
Errors from failed items.
errorsTruncatedTrue when the bulk operation stopped accumulating errors after reaching SpaceGassApi.Models.Dtos.Entity.BulkResultDto`1.ErrorMessageCap. Further failures may exist beyond what is reported.
Create Library Material
Creates a material by looking it up in a SPACE GASS material library. All material properties (Young's modulus, Poisson's ratio, mass density, thermal coefficient, concrete strength) are populated from the library โ the caller provides only the material name and library.
Create Library Material โบ Request Body
nameMaterial item name within the library.
libraryLibrary name.
idPrimary identifier - must be unique, no duplicates allowed. Optional - will be auto-assigned to next available number if not provided. If provided, must not already exist in the model.
Create Library Material โบ Responses
Material created
idPrimary identifier - must be unique, no duplicates allowed. Range: 1 to int.MaxValue
nameMaterial name.
youngsModulusYoung's modulus.
poissonsRatioPoisson's ratio (unitless).
massDensityMass density.
thermalCoeffThermal expansion coefficient.
concreteStrengthConcrete compressive strength.
sourceIndicates whether a section or material was user-defined or imported from a library.
libraryLibrary name. Empty for user-defined materials.
Create Library Materials Bulk
Creates multiple library-sourced materials in a single request. Each material is resolved from the SPACE GASS material library by (name, library).
query Parameters
continueOnErrorWhether to continue processing after individual failures
Create Library Materials Bulk โบ Request Body
nameMaterial item name within the library.
libraryLibrary name.
idPrimary identifier - must be unique, no duplicates allowed. Optional - will be auto-assigned to next available number if not provided. If provided, must not already exist in the model.
Create Library Materials Bulk โบ Responses
Bulk operation completed (check succeeded/errors arrays)
Successfully processed items.
Errors from failed items.
errorsTruncatedTrue when the bulk operation stopped accumulating errors after reaching SpaceGassApi.Models.Dtos.Entity.BulkResultDto`1.ErrorMessageCap. Further failures may exist beyond what is reported.
Replace With Library Material
Replaces the material at the given Id with a library-sourced material. The existing row
is deleted and a new row is created at the same Id, resolved from the SPACE GASS
material library by (name, library). Use this to convert a User material to a Library
material, or to re-resolve an existing Library material against a different library
entry. Any id in the request body is ignored โ the route Id wins.
path Parameters
idThe Id of the material to replace
Replace With Library Material โบ Request Body
nameMaterial item name within the library.
libraryLibrary name.
idPrimary identifier - must be unique, no duplicates allowed. Optional - will be auto-assigned to next available number if not provided. If provided, must not already exist in the model.
Replace With Library Material โบ Responses
Material replaced
idPrimary identifier - must be unique, no duplicates allowed. Range: 1 to int.MaxValue
nameMaterial name.
youngsModulusYoung's modulus.
poissonsRatioPoisson's ratio (unitless).
massDensityMass density.
thermalCoeffThermal expansion coefficient.
concreteStrengthConcrete compressive strength.
sourceIndicates whether a section or material was user-defined or imported from a library.
libraryLibrary name. Empty for user-defined materials.

