Structural materials
Get All
Gets 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 All โบ 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.
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
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").
query Parameters
continueOnErrorWhether to continue on error
Delete Bulk โบ Responses
OK
succeededSuccessfully 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.

