Structural members
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
MembersMember Ids to filter by, in SG list format (e.g. "1,3-7,10").
Omit to return all members.
TypeFilter by member type (Normal, TensionOnly, CompressionOnly, Cable, Gap, BrittleFuse, PlasticFuse).
Member element type. Determines the structural behavior of the member. Maps to SPACE GASS lookup table "Member Type".
SectionFilter by section number.
MaterialFilter by material number.
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
nodeANode at end A of the member.
nodeBNode at end B of the member.
typeMember element type. Determines the structural behavior of the member. Maps to SPACE GASS lookup table "Member Type".
sectionSection number assigned to this member.
materialMaterial number assigned to this member.
cableLengthCable length (for Cable type members). Unit: Length (see GET /job/units).
gapTensionLimitGap tension limit (for Gap type members). Unit: Force (see GET /job/units).
gapCompressionLimitGap compression limit (for Gap type members). Unit: Force (see GET /job/units).
fuseTensionLimitFuse tension limit (for Fuse type members). Unit: Force (see GET /job/units).
fuseCompressionLimitFuse compression limit (for Fuse type members). Unit: Force (see GET /job/units).
DTO for reading member direction data.
Direction defines the orientation of the member's local coordinate system.
Always present on every member — the parent MemberDto's id is authoritative.
DTO for reading member release data.
Releases define fixity codes and spring stiffness at each end of a member.
Always present on every member, so the owning member Id
is not duplicated here — the parent MemberDto's id is authoritative when
returned inline, and the route parameter is authoritative on the standalone endpoint.
hasOffsetsTrue when this member has an explicit offsets row defined (rigid end zones at A/B).
False means the member has no offsets (end rigid zones zero).
Use ?expand=all to include the full offsets object.
DTO for reading member offset data. Offsets define rigid end zones at each end of a member. Top-level entity attribute keyed on the parent member.
Create
Creates a new item. If a validator is registered, the item is validated before creation.
Create › Request Body
nodeANode at end A of the member.
nodeBNode at end B of the member.
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.
typeMember element type. Determines the structural behavior of the member. Maps to SPACE GASS lookup table "Member Type".
sectionSection number assigned to this member.
materialMaterial number assigned to this member.
DTO for updating the direction on a member or plate (partial-update semantics).
cableLengthCable length (for Cable type members). Unit: Length (see GET /job/units).
gapTensionLimitGap tension limit (for Gap type members). Unit: Force (see GET /job/units).
gapCompressionLimitGap compression limit (for Gap type members). Unit: Force (see GET /job/units).
fuseTensionLimitFuse tension limit (for Fuse type members). Unit: Force (see GET /job/units).
fuseCompressionLimitFuse compression limit (for Fuse type members). Unit: Force (see GET /job/units).
DTO for partial updates to a member release. Only fields included in the request are updated; omit a field to keep its current value.
Create › Responses
Created
idPrimary identifier - must be unique, no duplicates allowed. Range: 1 to int.MaxValue
nodeANode at end A of the member.
nodeBNode at end B of the member.
typeMember element type. Determines the structural behavior of the member. Maps to SPACE GASS lookup table "Member Type".
sectionSection number assigned to this member.
materialMaterial number assigned to this member.
cableLengthCable length (for Cable type members). Unit: Length (see GET /job/units).
gapTensionLimitGap tension limit (for Gap type members). Unit: Force (see GET /job/units).
gapCompressionLimitGap compression limit (for Gap type members). Unit: Force (see GET /job/units).
fuseTensionLimitFuse tension limit (for Fuse type members). Unit: Force (see GET /job/units).
fuseCompressionLimitFuse compression limit (for Fuse type members). Unit: Force (see GET /job/units).
DTO for reading member direction data.
Direction defines the orientation of the member's local coordinate system.
Always present on every member — the parent MemberDto's id is authoritative.
DTO for reading member release data.
Releases define fixity codes and spring stiffness at each end of a member.
Always present on every member, so the owning member Id
is not duplicated here — the parent MemberDto's id is authoritative when
returned inline, and the route parameter is authoritative on the standalone endpoint.
hasOffsetsTrue when this member has an explicit offsets row defined (rigid end zones at A/B).
False means the member has no offsets (end rigid zones zero).
Use ?expand=all to include the full offsets object.
DTO for reading member offset data. Offsets define rigid end zones at each end of a member. Top-level entity attribute keyed on the parent member.
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
nodeANode at end A of the member.
nodeBNode at end B of the member.
typeMember element type. Determines the structural behavior of the member. Maps to SPACE GASS lookup table "Member Type".
sectionSection number assigned to this member.
materialMaterial number assigned to this member.
cableLengthCable length (for Cable type members). Unit: Length (see GET /job/units).
gapTensionLimitGap tension limit (for Gap type members). Unit: Force (see GET /job/units).
gapCompressionLimitGap compression limit (for Gap type members). Unit: Force (see GET /job/units).
fuseTensionLimitFuse tension limit (for Fuse type members). Unit: Force (see GET /job/units).
fuseCompressionLimitFuse compression limit (for Fuse type members). Unit: Force (see GET /job/units).
DTO for reading member direction data.
Direction defines the orientation of the member's local coordinate system.
Always present on every member — the parent MemberDto's id is authoritative.
DTO for reading member release data.
Releases define fixity codes and spring stiffness at each end of a member.
Always present on every member, so the owning member Id
is not duplicated here — the parent MemberDto's id is authoritative when
returned inline, and the route parameter is authoritative on the standalone endpoint.
hasOffsetsTrue when this member has an explicit offsets row defined (rigid end zones at A/B).
False means the member has no offsets (end rigid zones zero).
Use ?expand=all to include the full offsets object.
DTO for reading member offset data. Offsets define rigid end zones at each end of a member. Top-level entity attribute keyed on the parent member.
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.
nodeANode at end A of the member.
nodeBNode at end B of the member.
typeMember element type. Determines the structural behavior of the member. Maps to SPACE GASS lookup table "Member Type".
sectionSection number assigned to this member.
materialMaterial number assigned to this member.
DTO for updating the direction on a member or plate (partial-update semantics).
cableLengthCable length (for Cable type members). Unit: Length (see GET /job/units).
gapTensionLimitGap tension limit (for Gap type members). Unit: Force (see GET /job/units).
gapCompressionLimitGap compression limit (for Gap type members). Unit: Force (see GET /job/units).
fuseTensionLimitFuse tension limit (for Fuse type members). Unit: Force (see GET /job/units).
fuseCompressionLimitFuse compression limit (for Fuse type members). Unit: Force (see GET /job/units).
DTO for partial updates to a member release. Only fields included in the request are updated; omit a field to keep its current value.
Update › Responses
OK
idPrimary identifier - must be unique, no duplicates allowed. Range: 1 to int.MaxValue
nodeANode at end A of the member.
nodeBNode at end B of the member.
typeMember element type. Determines the structural behavior of the member. Maps to SPACE GASS lookup table "Member Type".
sectionSection number assigned to this member.
materialMaterial number assigned to this member.
cableLengthCable length (for Cable type members). Unit: Length (see GET /job/units).
gapTensionLimitGap tension limit (for Gap type members). Unit: Force (see GET /job/units).
gapCompressionLimitGap compression limit (for Gap type members). Unit: Force (see GET /job/units).
fuseTensionLimitFuse tension limit (for Fuse type members). Unit: Force (see GET /job/units).
fuseCompressionLimitFuse compression limit (for Fuse type members). Unit: Force (see GET /job/units).
DTO for reading member direction data.
Direction defines the orientation of the member's local coordinate system.
Always present on every member — the parent MemberDto's id is authoritative.
DTO for reading member release data.
Releases define fixity codes and spring stiffness at each end of a member.
Always present on every member, so the owning member Id
is not duplicated here — the parent MemberDto's id is authoritative when
returned inline, and the route parameter is authoritative on the standalone endpoint.
hasOffsetsTrue when this member has an explicit offsets row defined (rigid end zones at A/B).
False means the member has no offsets (end rigid zones zero).
Use ?expand=all to include the full offsets object.
DTO for reading member offset data. Offsets define rigid end zones at each end of a member. Top-level entity attribute keyed on the parent member.
Get Direction
Gets the direction for a specific member. Returns the active source (Angle, Node, or Axis) and all three underlying field values.
path Parameters
idThe member Id
Get Direction › Responses
Returns the member direction
sourceIndicates which field defines a member or plate's direction.
Setting one source zeros the other two direction fields.
Values align with SG's SGLookupAxisDirection enum in CommonEnums.vb.
dirAngleDirection angle for member orientation.
dirNodeDirection node for member orientation.
dirAxisDirection axis for member orientation. Maps to SPACE GASS lookup table "Direction Axis".
Set Direction
Sets the direction for a specific member. Exactly one of dirAngle,
dirNode, or dirAxis must be supplied — the underlying datasheet row
enforces mutual exclusion, so the supplied field is written and SG's per-field
helper zeros the other two for the row.
A missing or empty body is rejected with 400 (PUT expects a meaningful payload).
Uses PUT because today every write replaces the full direction state (the mutex invariant zeros the other two fields). When SG stores a discriminator on the row, a sibling PATCH endpoint will be added that supports true single-field partial updates without touching the others.
path Parameters
idThe member Id
Set Direction › Request Body
dirAngleDirection angle for orientation. Mutually exclusive with dirNode and dirAxis.
dirNodeDirection node Id for orientation. Mutually exclusive with dirAngle and dirAxis.
dirAxisDirection axis for member orientation. Maps to SPACE GASS lookup table "Direction Axis".
Set Direction › Responses
Direction updated successfully
sourceIndicates which field defines a member or plate's direction.
Setting one source zeros the other two direction fields.
Values align with SG's SGLookupAxisDirection enum in CommonEnums.vb.
dirAngleDirection angle for member orientation.
dirNodeDirection node for member orientation.
dirAxisDirection axis for member orientation. Maps to SPACE GASS lookup table "Direction Axis".
Get Releases
Gets the releases for a specific member. Returns the member release conditions (fixed, pinned, etc.).
path Parameters
idThe member Id
Get Releases › Responses
Returns the member releases
fixityCodeAtAFixity code at end A of the member.
fixityCodeAtBFixity code at end B of the member.
txStiffnessAtATranslational X spring stiffness at end A. Unit: Force/Length (see GET /job/units).
tyStiffnessAtATranslational Y spring stiffness at end A. Unit: Force/Length (see GET /job/units).
tzStiffnessAtATranslational Z spring stiffness at end A. Unit: Force/Length (see GET /job/units).
rxStiffnessAtARotational X spring stiffness at end A. Unit: Moment/Radian (see GET /job/units).
ryStiffnessAtARotational Y spring stiffness at end A. Unit: Moment/Radian (see GET /job/units).
rzStiffnessAtARotational Z spring stiffness at end A. Unit: Moment/Radian (see GET /job/units).
txStiffnessAtBTranslational X spring stiffness at end B. Unit: Force/Length (see GET /job/units).
tyStiffnessAtBTranslational Y spring stiffness at end B. Unit: Force/Length (see GET /job/units).
tzStiffnessAtBTranslational Z spring stiffness at end B. Unit: Force/Length (see GET /job/units).
rxStiffnessAtBRotational X spring stiffness at end B. Unit: Moment/Radian (see GET /job/units).
ryStiffnessAtBRotational Y spring stiffness at end B. Unit: Moment/Radian (see GET /job/units).
rzStiffnessAtBRotational Z spring stiffness at end B. Unit: Moment/Radian (see GET /job/units).
Update Releases
Partially updates the releases for a specific member. Only provided fields are updated; omitted fields remain unchanged.
path Parameters
idThe member Id
Update Releases › Request Body
fixityCodeAtAFixity code at end A of the member.
fixityCodeAtBFixity code at end B of the member.
txStiffnessAtATranslational X spring stiffness at end A. Unit: Force/Length (see GET /job/units).
tyStiffnessAtATranslational Y spring stiffness at end A. Unit: Force/Length (see GET /job/units).
tzStiffnessAtATranslational Z spring stiffness at end A. Unit: Force/Length (see GET /job/units).
rxStiffnessAtARotational X spring stiffness at end A. Unit: Moment/Radian (see GET /job/units).
ryStiffnessAtARotational Y spring stiffness at end A. Unit: Moment/Radian (see GET /job/units).
rzStiffnessAtARotational Z spring stiffness at end A. Unit: Moment/Radian (see GET /job/units).
txStiffnessAtBTranslational X spring stiffness at end B. Unit: Force/Length (see GET /job/units).
tyStiffnessAtBTranslational Y spring stiffness at end B. Unit: Force/Length (see GET /job/units).
tzStiffnessAtBTranslational Z spring stiffness at end B. Unit: Force/Length (see GET /job/units).
rxStiffnessAtBRotational X spring stiffness at end B. Unit: Moment/Radian (see GET /job/units).
ryStiffnessAtBRotational Y spring stiffness at end B. Unit: Moment/Radian (see GET /job/units).
rzStiffnessAtBRotational Z spring stiffness at end B. Unit: Moment/Radian (see GET /job/units).
Update Releases › Responses
Releases updated successfully
fixityCodeAtAFixity code at end A of the member.
fixityCodeAtBFixity code at end B of the member.
txStiffnessAtATranslational X spring stiffness at end A. Unit: Force/Length (see GET /job/units).
tyStiffnessAtATranslational Y spring stiffness at end A. Unit: Force/Length (see GET /job/units).
tzStiffnessAtATranslational Z spring stiffness at end A. Unit: Force/Length (see GET /job/units).
rxStiffnessAtARotational X spring stiffness at end A. Unit: Moment/Radian (see GET /job/units).
ryStiffnessAtARotational Y spring stiffness at end A. Unit: Moment/Radian (see GET /job/units).
rzStiffnessAtARotational Z spring stiffness at end A. Unit: Moment/Radian (see GET /job/units).
txStiffnessAtBTranslational X spring stiffness at end B. Unit: Force/Length (see GET /job/units).
tyStiffnessAtBTranslational Y spring stiffness at end B. Unit: Force/Length (see GET /job/units).
tzStiffnessAtBTranslational Z spring stiffness at end B. Unit: Force/Length (see GET /job/units).
rxStiffnessAtBRotational X spring stiffness at end B. Unit: Moment/Radian (see GET /job/units).
ryStiffnessAtBRotational Y spring stiffness at end B. Unit: Moment/Radian (see GET /job/units).
rzStiffnessAtBRotational Z spring stiffness at end B. Unit: Moment/Radian (see GET /job/units).
Get Direction Metadata
Returns the schema for the member-direction sub-resource: field definitions,
units resolved against current job units, and allowed values for enum fields.
Fields mirror the shape of the direction object on member responses.
Get Direction Metadata › Responses
Returns direction schema metadata
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.
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.
Get Releases Metadata
Returns the schema for the member-releases sub-resource: field definitions,
units resolved against current job units, and allowed values for enum fields.
Fields mirror the shape returned by GET members/{key}/releases.
Get Releases Metadata › Responses
Returns release schema metadata
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
nodeANode at end A of the member.
nodeBNode at end B of the member.
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.
typeMember element type. Determines the structural behavior of the member. Maps to SPACE GASS lookup table "Member Type".
sectionSection number assigned to this member.
materialMaterial number assigned to this member.
DTO for updating the direction on a member or plate (partial-update semantics).
cableLengthCable length (for Cable type members). Unit: Length (see GET /job/units).
gapTensionLimitGap tension limit (for Gap type members). Unit: Force (see GET /job/units).
gapCompressionLimitGap compression limit (for Gap type members). Unit: Force (see GET /job/units).
fuseTensionLimitFuse tension limit (for Fuse type members). Unit: Force (see GET /job/units).
fuseCompressionLimitFuse compression limit (for Fuse type members). Unit: Force (see GET /job/units).
DTO for partial updates to a member release. Only fields included in the request are updated; omit a field to keep its current value.
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.
nodeANode at end A of the member.
nodeBNode at end B of the member.
typeMember element type. Determines the structural behavior of the member. Maps to SPACE GASS lookup table "Member Type".
sectionSection number assigned to this member.
materialMaterial number assigned to this member.
DTO for updating the direction on a member or plate (partial-update semantics).
cableLengthCable length (for Cable type members). Unit: Length (see GET /job/units).
gapTensionLimitGap tension limit (for Gap type members). Unit: Force (see GET /job/units).
gapCompressionLimitGap compression limit (for Gap type members). Unit: Force (see GET /job/units).
fuseTensionLimitFuse tension limit (for Fuse type members). Unit: Force (see GET /job/units).
fuseCompressionLimitFuse compression limit (for Fuse type members). Unit: Force (see GET /job/units).
DTO for partial updates to a member release. Only fields included in the request are updated; omit a field to keep its current value.
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.

