Timber beam structural analysis (NDS 2018 ASD). Calculate beam capacity, moment, shear, and deflection for wood members.
Calculate Wood Beam (Single Call)
Single-call endpoint to create, configure, and solve a timber beam calculation in one request.
Standard: NDS 2018 (Allowable Stress Design) Units: Imperial (ft, in, lbs, psf, psi)
Supports 13 presets: genericBeam, genericFlitchBeam, floorJoist, floorGirder, ceilingJoist, hipValley, rafter, roofGirder, roofHeader, floorHeader, comboBeam, deckJoist, deckBeam
Headers
Authorizationstring · requiredThe
Authorizationheader is used to authenticate with the API using your API key. Value is of the formatBearer YOUR_KEY_HERE.
Request Body
projectIdstring · requiredProject UUID to create the calculation under
presetstring · enum · requiredBeam configuration preset. Each preset provides sensible defaults: floorJoist/ceilingJoist/deckJoist use spacing format with repeat='Repeating'; floorGirder uses n_com=3 with TW format loads; comboBeam uses n_com=2 with TW format for combined floor+roof loading; genericFlitchBeam enables flitch plates; deckJoist/deckBeam default to wet='Wet' for outdoor exposure. See documentation for full preset defaults.
Enum values:genericBeamgenericFlitchBeamfloorJoistfloorGirderceilingJoisthipValleyrafterroofGirderattributesobject · requiredTimber beam configuration attributes
namestringOptional name for the calculation
Responses
Timber beam calculation completed successfully
sheetIdstring · uuid · requiredUnique identifier for the calculation sheet
statusstring · enum · requiredCalculation status
Enum values:solvedunsolvederror
namestringName of the calculation
resultsobjectinputsobject
Create Timber Beam Sheet
Create a new timber beam calculation sheet without solving. Use PATCH to update attributes and POST to /solve to calculate.
Headers
Authorizationstring · requiredThe
Authorizationheader is used to authenticate with the API using your API key. Value is of the formatBearer YOUR_KEY_HERE.
Request Body
projectIdstring · requiredProject UUID to create the sheet under
presetstring · enum · requiredBeam configuration preset. Each preset provides sensible defaults: floorJoist/ceilingJoist/deckJoist use spacing format with repeat='Repeating'; floorGirder uses n_com=3 with TW format loads; comboBeam uses n_com=2 with TW format for combined floor+roof loading; genericFlitchBeam enables flitch plates; deckJoist/deckBeam default to wet='Wet' for outdoor exposure. See documentation for full preset defaults.
Enum values:genericBeamgenericFlitchBeamfloorJoistfloorGirderceilingJoisthipValleyrafterroofGirder
namestring
Responses
Timber beam sheet created successfully
sheetIdstring · uuid · requiredUnique identifier for the created sheet
statusstring · enum · requiredSheet status (always 'unsolved' for new sheets)
Enum values:unsolved
namestringName of the sheet
presetstringPreset configuration used
Get Timber Beam Sheet
Retrieve a timber beam sheet with its attributes and results (if solved).
path Parameters
sheetIdstring · requiredSheet UUID
Headers
Authorizationstring · requiredThe
Authorizationheader is used to authenticate with the API using your API key. Value is of the formatBearer YOUR_KEY_HERE.
Responses
Timber beam sheet details
sheetIdstring · uuid · requiredUnique identifier for the sheet
statusstring · enum · requiredCalculation status
Enum values:solvedunsolvederror
namestringName of the sheet
attributesobjectTimber beam configuration attributes
resultsobjectCalculation results (only present if status is 'solved')
Update Timber Beam Sheet
Update beam attributes on an existing sheet. Sheet must be re-solved after updates.
path Parameters
sheetIdstring · requiredSheet UUID
Headers
Authorizationstring · requiredThe
Authorizationheader is used to authenticate with the API using your API key. Value is of the formatBearer YOUR_KEY_HERE.
Request Body
L_XnumberBeam span length in feet
typestring · enumMember selection type. 'Database' uses standard lumber from NDS tables, 'Custom' allows custom dimensions
Enum values:DatabaseCustomDefault: DatabasememberstringLumber designation when type='Database' (e.g., '2x10 DF-L No.2', '4x12 DF-L No.1')
supportsarray[] · minItems: 2Support definitions. Each support is [type, position_ft, bearing_width_in]. Minimum 2 supports required.
loadsDistarray[]Distributed loads array. Format: [label, start, end, width1, width2, {load_cases}]. For joist presets use: [label, 0, 'L', 'spacing', 'TW_s', {load_cases}]
loadsConcarray[]Concentrated/point loads. Format: [label, position_ft, {load_cases}] where load_cases contains {D: [force, moment], L: [force, moment]}
spacingnumberJoist spacing in inches (for joist presets). floorJoist, ceilingJoist, deckJoist default to 16.
n_comnumberNumber of plies for multi-ply beams. Defaults: floorGirder/roofGirder/floorHeader/deckBeam=3, ceilingJoist/hipValley/roofHeader/comboBeam=2, others=1.
Default: 1flitchstring · enumEnable flitch plates (steel reinforcement). Defaults to 'Yes' for genericFlitchBeam preset.
Enum values:YesNoDefault: Non_flitchnumberNumber of steel flitch plates. Defaults to 2 for genericFlitchBeam preset.
t_flitchnumberThickness of flitch plates in inches. Defaults to 0.375 for genericFlitchBeam preset.
d_flitchnumberDepth of flitch plates in inches. If omitted, auto-calculated based on wood member depth.
F_ynumberYield strength of flitch plate steel in psi. Defaults to 36000 (36 ksi).
Default: 36000wetstring · enumService moisture condition. Defaults: deckJoist/deckBeam='Wet' (outdoor exposure), all others='Dry'.
Enum values:DryWetDefault: DryTstring · enumTemperature range for adjustment factors
Enum values:T ≤ 100°F100°F < T ≤ 125°F125°F < T ≤ 150°FDefault: T ≤ 100°FincSWstring · enumInclude self-weight in analysis
Enum values:YesNoDefault: YesLLTstring · enumLive load type for load combinations. ceilingJoist defaults to 'Storage'. Most presets default to 'Occupancy'.
Enum values:OccupancyStorageRoofs (Lr or S)Default: OccupancyDelta_hardnumberAbsolute deflection limit in inches
Default: 2Delta_Span_STnumberShort-term deflection limit as L/xxx (e.g., 360 means L/360)
Default: 360Delta_Span_LTnumberLong-term deflection limit as L/xxx
Default: 240flag_SDstring · enumConsider simplified DL+LL deflection check. Defaults to 'Yes' for genericFlitchBeam, floorGirder, ceilingJoist, rafter, hipValley, roofGirder, roofHeader, floorHeader, deckJoist, deckBeam, and comboBeam presets.
Enum values:YesNoDefault: NoDelta_Span_DL+LLnumberSimplified DL+(LL or SL) deflection limit as L/xxx. Preset defaults: floorJoist/floorGirder/ceilingJoist/roofHeader/floorHeader/deckJoist/deckBeam/comboBeam=180, rafter/hipValley/roofGirder=100, genericFlitchBeam=240.
Default: 240repeatstring · enumMember repetition for load sharing. Presets floorJoist, floorGirder, ceilingJoist, rafter, roofGirder, floorHeader, deckJoist, deckBeam default to 'Repeating'. Most others default to 'Non-Repeating'.
Enum values:Non-RepeatingRepeatingDefault: Non-RepeatingLTB_bracingstring · enumLateral torsional buckling bracing condition. Defaults: floorJoist/deckJoist/deckBeam='Top Braced', ceilingJoist='Bottom Braced', floorGirder/roofGirder/headers='None'.
Enum values:NoneTop BracedBottom BracedFully BracedDefault: NonedoubleCantileverDeflectionstring · enumDouble L/ deflection limits for cantilevers. Defaults to 'Yes' for rafter, hipValley, roofGirder, roofHeader, floorHeader, deckJoist, deckBeam, and comboBeam presets.
Enum values:YesNoDefault: No
Responses
Sheet updated successfully
sheetIdstring · uuid · requiredUnique identifier for the sheet
statusstring · enum · requiredStatus after update (always 'unsolved' - requires re-solve)
Enum values:unsolvedupdatedAttributesstring[] · requiredList of attribute keys that were updated
Solve Timber Beam
Trigger calculation for a timber beam sheet and return results.
path Parameters
sheetIdstring · requiredSheet UUID
Headers
Authorizationstring · requiredThe
Authorizationheader is used to authenticate with the API using your API key. Value is of the formatBearer YOUR_KEY_HERE.
Responses
Calculation completed successfully
sheetIdstring · uuid · requiredUnique identifier for the sheet
statusstring · enum · requiredCalculation status
Enum values:solvederror
resultsobject
List Timber Beam Presets
Returns available beam configuration presets with their defaults and required fields.
Headers
Authorizationstring · requiredThe
Authorizationheader is used to authenticate with the API using your API key. Value is of the formatBearer YOUR_KEY_HERE.
Responses
List of available beam presets
presetsobject[] · required
List Wood Members
Returns available wood members (structural sections) that can be used in timber beam calculations. Use the table parameter to select which lumber database to query. Defaults to timberUS (US sawn lumber per NDS).
query Parameters
tablestring · enumLumber database to query. Use
timberUSfor US sawn lumber (Douglas Fir-Larch, SPF, etc.) per NDS. Defaults totimberUS.Enum values:timberUSDefault: timberUSsearchstringFilter members by label (case-insensitive substring match). Example:
2x10returns all 2x10 members.limitinteger · max: 1000Maximum number of members to return (default 100, max 1000).
Default: 100offsetintegerNumber of members to skip for pagination.
Default: 0
Headers
Authorizationstring · requiredThe
Authorizationheader is used to authenticate with the API using your API key. Value is of the formatBearer YOUR_KEY_HERE.
Responses
List of available wood members
tableIdstring · uuid · requiredUUID of the lumber database
codestring · requiredTable code (e.g., 'timberUS')
membersobject[] · requiredAvailable wood members
versionintegerVersion number of the table
paginationobjectPagination information
schemaobject[]Column schema for the members table