Run your first wood beam calculation.
Prerequisites
Multi-Step Workflow
The multi-step workflow gives you fine-grained control. Create a sheet, set attributes, then solve.
Step 1: Create Sheet
API Reference →
curl -X POST "https://api.calcs.com/v1/timber-beam/sheets" \
-H "Authorization: Bearer YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"projectId": "your-project-id",
"preset": "floorJoist",
"name": "Living Room Joist"
}'
Response:
{
"sheetId": "648d7791-e5ea-4809-a69c-6596cb33069c",
"name": "Living Room Joist",
"status": "unsolved",
"preset": "floorJoist"
}
Step 2: Set Attributes
API Reference →
Attributes are passed as flat key-value pairs (no wrapper object):
curl -X PATCH "https://api.calcs.com/v1/timber-beam/sheets/648d7791-e5ea-4809-a69c-6596cb33069c" \
-H "Authorization: Bearer YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"L_X": 14,
"type": "Database",
"member": "2x10 DF-L No.2",
"supports": [
["Pinned", 0, 1.5],
["Pinned", 14, 1.5]
],
"loadsDist": [
["Floor Load", 0, "L", "spacing", "TW_s", {"D": [15], "L": [40]}]
]
}'
For complete attribute documentation, see Attributes Reference.
Step 3: Solve
API Reference →
curl -X POST "https://api.calcs.com/v1/timber-beam/sheets/648d7791-e5ea-4809-a69c-6596cb33069c/solve" \
-H "Authorization: Bearer YOUR_API_KEY"
Response:
{
"sheetId": "648d7791-e5ea-4809-a69c-6596cb33069c",
"status": "solved",
"results": {
"passed": true,
"utilizationRatio": 0.76,
"summaryCheck": {
"referenceId": "M_check",
"value": 0.76,
"error": false,
"failReasons": []
}
}
}
Understanding Results
| Field | Description |
|---|
passed | true = all design checks pass |
utilizationRatio | Highest demand/capacity ratio (0-1) |
summaryCheck.referenceId | Which check governs the design |
summaryCheck.failReasons | List of failures (empty = success) |
Single-Call Alternative
API Reference →
For quick, one-off calculations, use the single-call endpoint:
curl -X POST "https://api.calcs.com/v1/timber-beam/calculate" \
-H "Authorization: Bearer YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"projectId": "your-project-id",
"preset": "floorJoist",
"attributes": {
"L_X": 14,
"member": "2x10 DF-L No.2",
"supports": [["Pinned", 0, 1.5], ["Pinned", 14, 1.5]],
"loadsDist": [["Floor Load", 0, "L", "spacing", "TW_s", {"D": [15], "L": [40]}]]
}
}'
This creates a sheet, sets attributes, and solves in one request.
Next Steps
Last modified on