API: helical pile

POST /v1/helical — request and response fields for helical-pile capacity and the AC358 torque, with runnable examples.


Computes helical (screw) pile axial capacity by individual plate bearing and cylindrical shear, taking the lesser as governing, with the AC358 torque correlation. The methods and inputs are explained in Helical piles; the same analysis runs interactively at the helical tool.

Endpoint

POST
https://api.pilecalc.com/v1/helical
GET
/v1/helical?key=…&req=…&fields=…(for header-less callers)

The request takes the same soil object as /v1/axial, the shaft geometry, a helices array (1–8 plates, each with depth and diameter), loading mode, factor of safety, product structural limit, explicit cylinder and shaft interface factors, and numerical controls. torque is either a pre-install target or an installed-pile verification and always carries kt, its basis, and a traceable reference. The API never guesses a torque factor from shaft diameter.

Authentication, rate limits, and the error envelope are shared by every endpoint — see the API overview. Requests are unit-agnostic: any self-consistent unit system works, and results come back in the same units. The examples below use SI (m, kN, kPa, kN/m³).

Request fields

This table is generated from the same schema that validates the request, so it cannot drift. Where a field appears once per variant row, it belongs to that variant only.

FieldTypeRequiredConstraints
unitSystem"si" | "us"yes
method"deep-individual-bearing-cylindrical-shear"yes
shaftShape"round"yes
soilobjectyes
soil.layers[]object[]yesmin 1 item
soil.layers[].topnumberyes≥ 0
soil.layers[].bottomnumberyes> 0
soil.layers[].gammanumberyes> 0
soil.layers[].type"cohesive" | "cohesionless" | "rock"yes
soil.layers[].cohesionnumberno≥ 0
soil.layers[].phinumberno0 – 60
soil.layers[].sptNnumberno≥ 0
soil.layers[].qunumberno≥ 0
soil.layers[].rockJointCondition"massive-intact" | "closed" | "open-or-gouge-filled"no
soil.layers[].rqdnumberno0 – 100
soil.layers[].kDownnumberno> 0
soil.layers[].kUpnumberno> 0
soil.layers[].kcnumberno> 0
soil.layers[].kanumberno> 0
soil.waterTableDepthnumberno≥ 0
soil.waterUnitWeightnumberno> 0
shaftDiameternumberyes> 0
shaftLengthnumberyes> 0
helices[]object[]yesmin 1 item, max 8 items
helices[].depthnumberyes> 0
helices[].diameternumberyes> 0
mode"compression" | "tension"yes
fsnumberyes> 0
structuralAxialCapacitynumberyes> 0
cylinderEarthPressureCoefficientnumberyes> 0
shaftInterfaceobjectyes
shaftInterface.mode = "neglected"variantyes
shaftInterface.mode = "included"variantyes
shaftInterface.earthPressureCoefficientnumberyes> 0
shaftInterface.sandInterfaceFrictionRationumberyes0 – 1
shaftInterface.clayAdhesionFactornumberyes0 – 1
torqueobjectyes
torque.mode = "design-target"variantyes
torque.ktnumberyes> 0
torque.basis"evaluation-report" | "project-load-test"yes
torque.referencestringyes
torque.mode = "installation-verification"variantyes
torque.ktnumberyes> 0
torque.basis"evaluation-report" | "project-load-test"yes
torque.referencestringyes
torque.averageInstallationTorquenumberyes> 0
torque.averagingLengthnumberyes> 0
segmentsnumberyesinteger, 20 – 500
convergenceTolerancenumberyes0 – 0.1

Response fields

FieldTypeDescription
ultimatenumberGoverning ultimate capacity, min(individual bearing, cylindrical shear) (kN).
allowablenumberUltimate / fs (kN).
governing"individual-bearing" | "cylindrical-shear" | "structural" | "installation-torque"The soil, product, or field-evidence limit controlling the reported ultimate.
byMethod.individualBearing / .cylindricalShearnumberBoth methods' ultimate capacities (kN).
perHelix[]object[]Individual-bearing contribution of each helix, sorted by depth.
perHelix[].depth / .diameternumberHelix depth and plate diameter, echoed from the input (m).
perHelix[].bearingnumberUltimate plate bearing q_ult·(π/4·D²) (kN).
shaftAdhesionnumberShaft adhesion above the top helix, included in both methods (kN).
requiredTorquenumberInstallation torque implied by the ultimate capacity, ultimate / Kt (kN·m).
geotechnicalUltimate / structuralCapacitynumberSeparate soil-model and product/evaluation-report limits.
torqueobjectDeclared Kt, target torque, required averaging length, and installed-pile capacity/verification when supplied.
interactionobjectTop H/D, adjacent s/D ratios, and whether the request matches the Hoyt-Clemence uplift population.
convergenceobjectFine/coarse integration comparison; the request fails when tolerance is exceeded.
methodobjectStable method ID, editions, released failure regime, shaft shape, and evidence boundary.

Code examples

A complete, runnable request. Replace YOUR_API_KEY (or set PILECALC_API_KEY in your environment).

POST /v1/helical
curl https://api.pilecalc.com/v1/helical \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
  "unitSystem": "si",
  "method": "deep-individual-bearing-cylindrical-shear",
  "shaftShape": "round",
  "soil": {
    "layers": [
      {
        "type": "cohesive",
        "top": 0,
        "bottom": 3,
        "gamma": 17.5,
        "cohesion": 40,
        "ka": 0.9
      },
      {
        "type": "cohesionless",
        "top": 3,
        "bottom": 8,
        "gamma": 19,
        "phi": 32
      }
    ],
    "waterTableDepth": 2,
    "waterUnitWeight": 9.81
  },
  "shaftDiameter": 0.089,
  "shaftLength": 6,
  "helices": [
    {
      "depth": 4.5,
      "diameter": 0.2
    },
    {
      "depth": 5.25,
      "diameter": 0.25
    },
    {
      "depth": 6,
      "diameter": 0.3
    }
  ],
  "mode": "compression",
  "fs": 2,
  "structuralAxialCapacity": 800,
  "cylinderEarthPressureCoefficient": 1,
  "shaftInterface": {
    "mode": "included",
    "earthPressureCoefficient": 1,
    "sandInterfaceFrictionRatio": 0.67,
    "clayAdhesionFactor": 0.7
  },
  "torque": {
    "mode": "design-target",
    "kt": 33,
    "basis": "evaluation-report",
    "reference": "Project product evaluation report"
  },
  "segments": 240,
  "convergenceTolerance": 0.03
}'

The GET variant returns ultimate,allowable,requiredTorque as a plain-text CSV line — made for Excel's WEBSERVICE() and Sheets' IMPORTDATA() (see Use PileCalc in Excel). Omit fields to get the full JSON response.

Interpreting results

  • governing tells you which mechanism limits the pile — closely spaced helices shear as a cylinder, widely spaced ones bear individually.
  • requiredTorque is the torque implied by the declared kt. Treat it as a field criterion only when that factor and the evaluated product/install procedure are supported by the applicable AC358 evaluation report and project specification.
  • mode: "tension" flips the cylindrical-shear leading helix to the top — use it for tie-downs and uplift anchors.
  • Helix depths must lie on the embedded shaft (depth ≤ shaftLength); rock layers are rejected. The released deep domain also requires top H/D 5.1–134, adjacent spacing 1.55D–4.5D, a round shaft, and sand friction angle within the declared NAVFAC 26°–40° table.

The water-unit-weight trap

With a water table, effective stresses depend on soil.waterUnitWeight — pass 9.81 when working in kN/m³, or the coherent US value in kip/ft³ (see Units & conventions).