{"components":{"schemas":{"Error":{"properties":{"api_version":{"example":"v1","type":"string"},"code":{"example":"bad_request","type":"string"},"details":{"type":"object"},"error":{"type":"string"},"library_version":{"type":"string"},"ok":{"example":false,"type":"boolean"}},"required":["ok","code","error","library_version","api_version"],"type":"object"}},"securitySchemes":{"ApiToken":{"description":"Optional. Enforced only when PROPERTIES_LIBRARY_API_TOKEN is configured.","in":"header","name":"X-API-Token","type":"apiKey"},"BearerToken":{"description":"Optional. Enforced only when PROPERTIES_LIBRARY_API_TOKEN is configured.","scheme":"bearer","type":"http"}}},"info":{"description":"Versioned JSON contract for fluid calculations, material records, standards, and PLM integration.","title":"Properties Library API","version":"1.0.2"},"openapi":"3.0.3","paths":{"/fluid-ph":{"get":{"parameters":[{"example":"r134a","in":"query","name":"fluid","schema":{"type":"string"}},{"example":5.0,"in":"query","name":"pressure","schema":{"type":"number"}},{"example":"Bar","in":"query","name":"pressure_unit","schema":{"type":"string"}},{"example":400.0,"in":"query","name":"enthalpy","schema":{"type":"number"}},{"example":"kJ/kg","in":"query","name":"enthalpy_unit","schema":{"type":"string"}}],"responses":{"200":{"description":"P-h state payload"}},"summary":"Calculate a pressure-enthalpy state for a CoolProp-capable fluid"}},"/fluid-properties":{"get":{"parameters":[{"example":"methane","in":"query","name":"fluid","schema":{"type":"string"}},{"example":15,"in":"query","name":"temperature","schema":{"type":"number"}},{"example":"Celsius","in":"query","name":"temperature_unit","schema":{"type":"string"}},{"example":1,"in":"query","name":"pressure","schema":{"type":"number"}},{"example":"Atm","in":"query","name":"pressure_unit","schema":{"type":"string"}},{"in":"query","name":"backend","schema":{"enum":["auto","coolprop","thermo","chemicals","cantera","local"],"type":"string"}},{"description":"Thermo/Chemicals phase selector for T-P property calculations. default uses the catalog record, auto uses backend equilibrium phase where available; solid is Thermo-only.","in":"query","name":"phase","schema":{"enum":["default","auto","gas","liquid","solid"],"type":"string"}},{"in":"query","name":"output_unit_system","schema":{"enum":["si","imperial"],"type":"string"}}],"responses":{"200":{"description":"Fluid point payload"},"400":{"description":"Stable error code"}},"summary":"Calculate one fluid state point"}},"/fluid-properties-evidence.pdf":{"get":{"description":"Legacy UI export endpoint documented for integrations that need a report containing inputs, outputs, formulas, source metadata, and warnings.","parameters":[{"example":"methane","in":"query","name":"fluid","schema":{"type":"string"}},{"example":15,"in":"query","name":"temperature","schema":{"type":"number"}},{"example":"Celsius","in":"query","name":"temperature_unit","schema":{"type":"string"}},{"example":1,"in":"query","name":"pressure","schema":{"type":"number"}},{"example":"Atm","in":"query","name":"pressure_unit","schema":{"type":"string"}},{"in":"query","name":"output_unit_system","schema":{"enum":["si","imperial"],"type":"string"}}],"responses":{"200":{"content":{"application/pdf":{"schema":{"format":"binary","type":"string"}}},"description":"Evidence-pack PDF"},"400":{"description":"Stable error code"}},"summary":"Export one fluid state point as an evidence-pack PDF"}},"/fluid-properties/bulk":{"post":{"requestBody":{"content":{"application/json":{"example":{"states":[{"backend":"auto","fluid":"methane","output_unit_system":"si","phase":"default","pressure":1,"pressure_unit":"Atm","temperature":15,"temperature_unit":"Celsius"},{"backend":"auto","fluid":"air","output_unit_system":"si","phase":"default","pressure":1,"pressure_unit":"Atm","relative_humidity":50,"temperature":15,"temperature_unit":"Celsius"}]}}},"required":true},"responses":{"200":{"description":"Bulk fluid calculation payload"}},"summary":"Calculate many fluid state points"}},"/fluid-range":{"get":{"responses":{"200":{"description":"Range payload"},"422":{"description":"Phase-boundary or range error"}},"summary":"Generate a fluid range table"}},"/fluid-range/export":{"post":{"requestBody":{"content":{"application/json":{"example":{"fluid":"methane","format":"json","mode":"temperature","pressure":1,"pressure_unit":"Bar","property":"density","temperature_max":100,"temperature_min":0,"temperature_steps":6,"temperature_unit":"Celsius"}}}},"responses":{"200":{"description":"Range export"}},"summary":"Export a fluid range table as JSON or CSV"}},"/fluid-saturation":{"get":{"responses":{"200":{"description":"Saturation payload"}},"summary":"Calculate saturation pressure, temperature, and optional quality-state properties"}},"/health":{"get":{"responses":{"200":{"description":"Health payload"}},"summary":"Health and dependency status"}},"/material-standards":{"get":{"responses":{"200":{"description":"Standard catalog payload"}},"summary":"Search material standards"}},"/materials":{"get":{"responses":{"200":{"description":"Material catalog payload"}},"summary":"Search material records"}},"/materials/bulk":{"post":{"requestBody":{"content":{"application/json":{"example":{"material_ids":["aluminum-6061-t6","pa66-gf30"],"units":"si"}}}},"responses":{"200":{"description":"Bulk material payload"}},"summary":"Retrieve materials by ID list"}},"/materials/compare":{"get":{"description":"Returns selected material records, top-level count, comparison rows, and per-cell missing_reason text where a value is not listed.","responses":{"200":{"description":"Comparison payload"}},"summary":"Compare selected materials"}},"/materials/{material_id}":{"get":{"parameters":[{"in":"path","name":"material_id","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"Material payload"},"404":{"description":"Not found"}},"summary":"Retrieve one material record"}},"/records/validate":{"post":{"requestBody":{"content":{"application/json":{"example":{"fluids":["methane","air"],"materials":["aluminum-6061-t6"],"standards":["std-en-aw-6061-din-aluminium"]}}}},"responses":{"200":{"description":"Record validation payload"}},"summary":"Validate selected fluid/material/standard records and source metadata"}}},"servers":[{"url":"/api/v1"}]}
