/v1/position
Piston position
Try it live
10 free calls per day — no sign-up, no API key. Goes through the oanor gateway.
It works. Grab an API key and use it in your project.
Get an API keyCode snippets
curl "https://api.oanor.com/crankslider-api/v1/position" \ -H "x-oanor-key: oanor_test_..."
await fetch("https://api.oanor.com/crankslider-api/v1/position", {
headers: { "x-oanor-key": "oanor_test_..." }
});
$ch = curl_init("https://api.oanor.com/crankslider-api/v1/position");
curl_setopt($ch, CURLOPT_HTTPHEADER, ["x-oanor-key: oanor_test_..."]);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
$out = curl_exec($ch);
import requests
requests.get(
"https://api.oanor.com/crankslider-api/v1/position",
headers={"x-oanor-key": "oanor_test_..."}
)
Example response
A real response from this endpoint, captured by the latest health check.
{
"data": {
"note": "Displacement measured from top dead centre (θ=0). Distance-from-crank-axis is the piston-pin to crank-centre length.",
"inputs": {
"angle_deg": 90,
"rod_length": 0.2,
"crank_radius": 0.05
},
"stroke": 0.1,
"rod_ratio_n": 4,
"rod_angle_deg": 14.477512,
"obliquity_lambda": 0.25,
"fraction_of_stroke": 0.563508,
"displacement_from_tdc": 0.056351,
"distance_from_crank_axis": 0.193649
},
"meta": {
"timestamp": "2026-06-04T10:18:36.176Z",
"request_id": "50076448-d2ba-4492-83ba-43c9be36ca9f"
},
"status": "ok",
"message": "Piston position",
"success": true
}