{"openapi":"3.1.0","info":{"title":"Sheet Metal API","version":"1.0.0","description":"Sheet-metal bending maths as an API, computed locally and deterministically. The bend-allowance endpoint computes the bend allowance, bend deduction and outside setback for a single bend from the material thickness, the inside bend radius, the bend angle and the K-factor: the bend allowance is BA = θ·(r + K·t), the outside setback is OSSB = (r + t)·tan(θ/2) and the bend deduction is BD = 2·OSSB − BA, with the neutral-axis position reported too. The flat-length endpoint computes the flat blank length you need to cut: from a list of outside (mold-line) flange lengths, or two flanges, or a total, it subtracts the bend deduction for each bend. The kfactor endpoint lists typical K-factors by material — aluminium around 0.33, mild steel 0.44, stainless 0.45 — and estimates a K-factor from the inside-radius-to-thickness ratio. The K-factor can be given directly or chosen by material, and if the inside radius is omitted it defaults to the thickness. Lengths are unit-agnostic — the output matches whatever unit you supply. Everything is computed locally and deterministically, so it is instant and private. Ideal for sheet-metal CAD/CAM and press-brake tools, fabrication and unfolding apps, maker and prototyping projects, and manufacturing calculators. Pure local computation — no key, no third-party service, instant. Live, nothing stored. 3 endpoints. This is sheet-metal bend development; for the weight of the blank use a metal-weight API.","contact":{"name":"PremiumApi","url":"https://www.oanor.com/by/premiumapi"}},"servers":[{"url":"https://api.oanor.com/sheetmetal-api","description":"oanor gateway"}],"tags":[{"name":"SheetMetal"},{"name":"Meta"}],"components":{"securitySchemes":{"oanorKey":{"type":"apiKey","in":"header","name":"x-oanor-key","description":"Get your key at https://www.oanor.com/developer/keys"}}},"security":[{"oanorKey":[]}],"paths":{"/v1/bend-allowance":{"get":{"operationId":"get_v1_bend_allowance","tags":["SheetMetal"],"summary":"Bend allowance & deduction","description":"","parameters":[{"name":"thickness","in":"query","required":true,"description":"Material thickness t","schema":{"type":"string"},"example":"2"},{"name":"inside_radius","in":"query","required":false,"description":"Inside bend radius (default = thickness)","schema":{"type":"string"},"example":"3"},{"name":"bend_angle","in":"query","required":true,"description":"Bend angle (degrees)","schema":{"type":"string"},"example":"90"},{"name":"k_factor","in":"query","required":false,"description":"K-factor 0-1 (default 0.44)","schema":{"type":"string"},"example":"0.44"},{"name":"material","in":"query","required":false,"description":"aluminium|mild_steel|… (instead of k)","schema":{"type":"string"}}],"security":[{"oanorKey":[]}],"responses":{"200":{"description":"OK","content":{"application/json":{"example":{"data":{"formula":"BA = θ·(r + K·t); OSSB = (r+t)·tan(θ/2); BD = 2·OSSB − BA (θ in radians).","k_factor":0.44,"k_source":"explicit","thickness":2,"inside_radius":3,"bend_allowance":6.09469,"bend_angle_deg":90,"bend_deduction":3.90531,"outside_setback":5,"neutral_axis_from_inside":0.88},"meta":{"timestamp":"2026-06-04T01:59:04.925Z","request_id":"71beaa5f-5b93-45f6-8964-af21562f1a2a"},"status":"ok","message":"Bend allowance & deduction","success":true}}}},"401":{"description":"Missing or invalid x-oanor-key header"},"402":{"description":"Active subscription required"},"429":{"description":"Rate-limit or monthly quota reached"},"502":{"description":"Upstream did not respond"}}}},"/v1/flat-length":{"get":{"operationId":"get_v1_flat_length","tags":["SheetMetal"],"summary":"Blank length from flanges","description":"","parameters":[{"name":"thickness","in":"query","required":true,"description":"Thickness t","schema":{"type":"string"},"example":"2"},{"name":"inside_radius","in":"query","required":false,"description":"Inside radius","schema":{"type":"string"},"example":"3"},{"name":"bend_angle","in":"query","required":true,"description":"Bend angle (degrees)","schema":{"type":"string"},"example":"90"},{"name":"k_factor","in":"query","required":false,"description":"K-factor","schema":{"type":"string"},"example":"0.44"},{"name":"flanges","in":"query","required":false,"description":"Comma list of outside flange lengths","schema":{"type":"string"},"example":"50,30,40"},{"name":"flange_a","in":"query","required":false,"description":"Or flange A","schema":{"type":"string"}},{"name":"flange_b","in":"query","required":false,"description":"And flange B","schema":{"type":"string"}},{"name":"outside_total","in":"query","required":false,"description":"Or total outside length","schema":{"type":"string"}},{"name":"bends","in":"query","required":false,"description":"Number of bends","schema":{"type":"string"}}],"security":[{"oanorKey":[]}],"responses":{"200":{"description":"OK","content":{"application/json":{"example":{"data":{"note":"Blank length = sum of outside (mold-line) flange lengths − (number of bends × bend deduction).","bends":2,"flanges":[50,30,40],"k_factor":0.44,"thickness":2,"blank_length":112.18938,"inside_radius":3,"bend_angle_deg":90,"bend_deduction_each":3.90531,"outside_total_length":120},"meta":{"timestamp":"2026-06-04T01:59:05.024Z","request_id":"f2893a7e-80e2-4cd1-a466-f409203bb361"},"status":"ok","message":"Blank length from flanges","success":true}}}},"401":{"description":"Missing or invalid x-oanor-key header"},"402":{"description":"Active subscription required"},"429":{"description":"Rate-limit or monthly quota reached"},"502":{"description":"Upstream did not respond"}}}},"/v1/kfactor":{"get":{"operationId":"get_v1_kfactor","tags":["SheetMetal"],"summary":"K-factor reference & estimate","description":"","parameters":[{"name":"thickness","in":"query","required":false,"description":"Thickness (for r/t estimate)","schema":{"type":"string"},"example":"2"},{"name":"inside_radius","in":"query","required":false,"description":"Inside radius (for r/t estimate)","schema":{"type":"string"},"example":"6"}],"security":[{"oanorKey":[]}],"responses":{"200":{"description":"OK","content":{"application/json":{"example":{"data":{"note":"K-factor is the neutral-axis position as a fraction of thickness (0–0.5). It rises with the inside-radius-to-thickness ratio. Confirm with bend tests for precision.","estimate":{"r_over_t":3,"estimated_k":0.45},"default_k":0.44,"k_factor_by_material":{"hard":0.5,"soft":0.33,"brass":0.4,"steel":0.44,"bronze":0.4,"copper":0.4,"medium":0.44,"aluminum":0.33,"aluminium":0.33,"mild_steel":0.44,"stainless_steel":0.45}},"meta":{"timestamp":"2026-06-04T01:59:05.122Z","request_id":"701f6ada-55fd-4dd8-84f9-bee3a1e8f220"},"status":"ok","message":"K-factor reference","success":true}}}},"401":{"description":"Missing or invalid x-oanor-key header"},"402":{"description":"Active subscription required"},"429":{"description":"Rate-limit or monthly quota reached"},"502":{"description":"Upstream did not respond"}}}},"/v1/meta":{"get":{"operationId":"get_v1_meta","tags":["Meta"],"summary":"Spec","description":"","parameters":[],"security":[{"oanorKey":[]}],"responses":{"200":{"description":"OK","content":{"application/json":{"example":{"data":{"api":"sheetmetal","note":"Sheet-metal bending maths — computed locally and deterministically, no key, no third-party service. Lengths are unit-agnostic.","endpoints":["/v1/bend-allowance","/v1/flat-length","/v1/kfactor","/v1/meta"],"materials":["aluminium","aluminum","soft","mild_steel","steel","medium","stainless_steel","hard","copper","brass","bronze"]},"meta":{"timestamp":"2026-06-04T01:59:05.225Z","request_id":"7b01ec36-39c4-4132-837d-eb17444d171f"},"status":"ok","message":"Meta","success":true}}}},"401":{"description":"Missing or invalid x-oanor-key header"},"402":{"description":"Active subscription required"},"429":{"description":"Rate-limit or monthly quota reached"},"502":{"description":"Upstream did not respond"}}}}},"x-oanor-pricing":[{"slug":"free","name":"Free","price_cents_month":0,"monthly_call_quota":2000,"rps_limit":2,"hard_limit":true},{"slug":"starter","name":"Starter","price_cents_month":900,"monthly_call_quota":18000,"rps_limit":5,"hard_limit":true},{"slug":"pro","name":"Pro","price_cents_month":2400,"monthly_call_quota":90000,"rps_limit":15,"hard_limit":true},{"slug":"mega","name":"Mega","price_cents_month":7400,"monthly_call_quota":400000,"rps_limit":40,"hard_limit":true}],"x-oanor-marketplace-url":"https://www.oanor.com/api/sheetmetal-api"}