From d678182dcfc9b23d93cbfdaaf28868200d04a827 Mon Sep 17 00:00:00 2001 From: Jess Frazelle Date: Mon, 31 Jul 2023 11:33:50 -0700 Subject: [PATCH] Update api spec (#113) YOYO NEW API SPEC! Co-authored-by: github-actions[bot] --- spec.json | 876 +++++++++++++++++++++++++++++++++++------------------- 1 file changed, 562 insertions(+), 314 deletions(-) diff --git a/spec.json b/spec.json index e358dbe9d..c5edcb2b7 100644 --- a/spec.json +++ b/spec.json @@ -670,6 +670,7 @@ "description": "The unique identifier of the API call.\n\nThis is the same as the API call ID." }, "output": { + "deprecated": true, "description": "The converted file (if single file conversion), if completed, base64 encoded. This field is deprecated, and will be removed in a future release. Use `outputs` instead.", "format": "byte", "nullable": true, @@ -766,13 +767,21 @@ "description": "File center of mass.", "properties": { "center_of_mass": { - "description": "The resulting center of mass.", - "items": { - "format": "double", - "type": "number" + "allOf": [ + { + "$ref": "#/components/schemas/Point3d" + } + ], + "deprecated": true, + "description": "The resulting center of mass. This is deprecated and will be removed in a future release. Use `centers_of_mass` instead.", + "nullable": true + }, + "centers_of_mass": { + "additionalProperties": { + "$ref": "#/components/schemas/Point3d" }, - "nullable": true, - "type": "array" + "description": "The center of mass for each mesh in the file. The key of the hash map is the mesh name.", + "type": "object" }, "completed_at": { "description": "The time and date the API call was completed.", @@ -800,6 +809,14 @@ ], "description": "The unique identifier of the API call.\n\nThis is the same as the API call ID." }, + "output_unit": { + "allOf": [ + { + "$ref": "#/components/schemas/UnitLength" + } + ], + "description": "The output unit for the center of mass." + }, "src_format": { "allOf": [ { @@ -843,6 +860,7 @@ "required": [ "created_at", "id", + "output_unit", "src_format", "status", "type", @@ -880,17 +898,42 @@ "description": "The unique identifier of the API call.\n\nThis is the same as the API call ID." }, "mass": { - "description": "The resulting mass.", + "deprecated": true, + "description": "The resulting mass. This is deprecated and will be removed in a future release, use `masses` instead.", "format": "double", "nullable": true, "type": "number" }, + "masses": { + "additionalProperties": { + "format": "double", + "type": "number" + }, + "description": "The mass for each mesh in the file. The key of the hash map is the mesh name.", + "type": "object" + }, "material_density": { "default": 0.0, "description": "The material density as denoted by the user.", - "format": "float", + "format": "double", "type": "number" }, + "material_density_unit": { + "allOf": [ + { + "$ref": "#/components/schemas/UnitDensity" + } + ], + "description": "The material density unit." + }, + "output_unit": { + "allOf": [ + { + "$ref": "#/components/schemas/UnitMass" + } + ], + "description": "The output unit for the mass." + }, "src_format": { "allOf": [ { @@ -934,6 +977,8 @@ "required": [ "created_at", "id", + "material_density_unit", + "output_unit", "src_format", "status", "type", @@ -970,6 +1015,14 @@ ], "description": "The unique identifier of the API call.\n\nThis is the same as the API call ID." }, + "output_unit": { + "allOf": [ + { + "$ref": "#/components/schemas/UnitVolume" + } + ], + "description": "The output unit for the volume." + }, "src_format": { "allOf": [ { @@ -1010,15 +1063,25 @@ "type": "string" }, "volume": { - "description": "The resulting volume.", + "deprecated": true, + "description": "The resulting volume. This is deprecated and will be removed in a future release. Use `volumes` instead.", "format": "double", "nullable": true, "type": "number" + }, + "volumes": { + "additionalProperties": { + "format": "double", + "type": "number" + }, + "description": "The volumes for each mesh in the file. The key of the hash map is the mesh name.", + "type": "object" } }, "required": [ "created_at", "id", + "output_unit", "src_format", "status", "type", @@ -1042,8 +1105,17 @@ "title": "DateTime", "type": "string" }, + "densities": { + "additionalProperties": { + "format": "double", + "type": "number" + }, + "description": "The density for each mesh in the file. The key of the hash map is the mesh name.", + "type": "object" + }, "density": { - "description": "The resulting density.", + "deprecated": true, + "description": "The resulting density. This is deprecated and will be removed in a future release, use `densities` instead.", "format": "double", "nullable": true, "type": "number" @@ -1064,9 +1136,25 @@ "material_mass": { "default": 0.0, "description": "The material mass as denoted by the user.", - "format": "float", + "format": "double", "type": "number" }, + "material_mass_unit": { + "allOf": [ + { + "$ref": "#/components/schemas/UnitMass" + } + ], + "description": "The material mass unit." + }, + "output_unit": { + "allOf": [ + { + "$ref": "#/components/schemas/UnitDensity" + } + ], + "description": "The output unit for the density." + }, "src_format": { "allOf": [ { @@ -1110,6 +1198,8 @@ "required": [ "created_at", "id", + "material_mass_unit", + "output_unit", "src_format", "status", "type", @@ -1146,6 +1236,14 @@ ], "description": "The unique identifier of the API call.\n\nThis is the same as the API call ID." }, + "output_unit": { + "allOf": [ + { + "$ref": "#/components/schemas/UnitArea" + } + ], + "description": "The output unit for the surface area." + }, "src_format": { "allOf": [ { @@ -1170,11 +1268,20 @@ "description": "The status of the API call." }, "surface_area": { - "description": "The resulting surface area.", + "deprecated": true, + "description": "The resulting surface area. This is deprecated and will be removed in a future release. Use `surface_areas` instead.", "format": "double", "nullable": true, "type": "number" }, + "surface_areas": { + "additionalProperties": { + "format": "double", + "type": "number" + }, + "description": "The surface area for each mesh in the file. The key of the hash map is the mesh name.", + "type": "object" + }, "type": { "enum": [ "FileSurfaceArea" @@ -1195,6 +1302,7 @@ "required": [ "created_at", "id", + "output_unit", "src_format", "status", "type", @@ -5514,13 +5622,21 @@ "description": "A file center of mass result.", "properties": { "center_of_mass": { - "description": "The resulting center of mass.", - "items": { - "format": "double", - "type": "number" + "allOf": [ + { + "$ref": "#/components/schemas/Point3d" + } + ], + "deprecated": true, + "description": "The resulting center of mass. This is deprecated and will be removed in a future release. Use `centers_of_mass` instead.", + "nullable": true + }, + "centers_of_mass": { + "additionalProperties": { + "$ref": "#/components/schemas/Point3d" }, - "nullable": true, - "type": "array" + "description": "The center of mass for each mesh in the file. The key of the hash map is the mesh name.", + "type": "object" }, "completed_at": { "description": "The time and date the API call was completed.", @@ -5548,6 +5664,14 @@ ], "description": "The unique identifier of the API call.\n\nThis is the same as the API call ID." }, + "output_unit": { + "allOf": [ + { + "$ref": "#/components/schemas/UnitLength" + } + ], + "description": "The output unit for the center of mass." + }, "src_format": { "allOf": [ { @@ -5585,6 +5709,7 @@ "required": [ "created_at", "id", + "output_unit", "src_format", "status", "updated_at" @@ -5621,6 +5746,7 @@ "description": "The unique identifier of the API call.\n\nThis is the same as the API call ID." }, "output": { + "deprecated": true, "description": "The converted file (if single file conversion), if completed, base64 encoded. This field is deprecated, and will be removed in a future release. Use `outputs` instead.", "format": "byte", "nullable": true, @@ -5722,8 +5848,17 @@ "title": "DateTime", "type": "string" }, + "densities": { + "additionalProperties": { + "format": "double", + "type": "number" + }, + "description": "The density for each mesh in the file. The key of the hash map is the mesh name.", + "type": "object" + }, "density": { - "description": "The resulting density.", + "deprecated": true, + "description": "The resulting density. This is deprecated and will be removed in a future release, use `densities` instead.", "format": "double", "nullable": true, "type": "number" @@ -5744,9 +5879,25 @@ "material_mass": { "default": 0.0, "description": "The material mass as denoted by the user.", - "format": "float", + "format": "double", "type": "number" }, + "material_mass_unit": { + "allOf": [ + { + "$ref": "#/components/schemas/UnitMass" + } + ], + "description": "The material mass unit." + }, + "output_unit": { + "allOf": [ + { + "$ref": "#/components/schemas/UnitDensity" + } + ], + "description": "The output unit for the density." + }, "src_format": { "allOf": [ { @@ -5784,6 +5935,8 @@ "required": [ "created_at", "id", + "material_mass_unit", + "output_unit", "src_format", "status", "updated_at" @@ -5800,13 +5953,6 @@ ], "type": "string" }, - { - "description": "The DXF file format. ", - "enum": [ - "dxf" - ], - "type": "string" - }, { "description": "The FBX file format. ", "enum": [ @@ -5868,13 +6014,6 @@ ], "type": "string" }, - { - "description": "The DXF file format. ", - "enum": [ - "dxf" - ], - "type": "string" - }, { "description": "The FBX file format. ", "enum": [ @@ -5949,17 +6088,42 @@ "description": "The unique identifier of the API call.\n\nThis is the same as the API call ID." }, "mass": { - "description": "The resulting mass.", + "deprecated": true, + "description": "The resulting mass. This is deprecated and will be removed in a future release, use `masses` instead.", "format": "double", "nullable": true, "type": "number" }, + "masses": { + "additionalProperties": { + "format": "double", + "type": "number" + }, + "description": "The mass for each mesh in the file. The key of the hash map is the mesh name.", + "type": "object" + }, "material_density": { "default": 0.0, "description": "The material density as denoted by the user.", - "format": "float", + "format": "double", "type": "number" }, + "material_density_unit": { + "allOf": [ + { + "$ref": "#/components/schemas/UnitDensity" + } + ], + "description": "The material density unit." + }, + "output_unit": { + "allOf": [ + { + "$ref": "#/components/schemas/UnitMass" + } + ], + "description": "The output unit for the mass." + }, "src_format": { "allOf": [ { @@ -5997,6 +6161,8 @@ "required": [ "created_at", "id", + "material_density_unit", + "output_unit", "src_format", "status", "updated_at" @@ -6032,6 +6198,14 @@ ], "description": "The unique identifier of the API call.\n\nThis is the same as the API call ID." }, + "output_unit": { + "allOf": [ + { + "$ref": "#/components/schemas/UnitArea" + } + ], + "description": "The output unit for the surface area." + }, "src_format": { "allOf": [ { @@ -6056,11 +6230,20 @@ "description": "The status of the API call." }, "surface_area": { - "description": "The resulting surface area.", + "deprecated": true, + "description": "The resulting surface area. This is deprecated and will be removed in a future release. Use `surface_areas` instead.", "format": "double", "nullable": true, "type": "number" }, + "surface_areas": { + "additionalProperties": { + "format": "double", + "type": "number" + }, + "description": "The surface area for each mesh in the file. The key of the hash map is the mesh name.", + "type": "object" + }, "updated_at": { "description": "The time and date the API call was last updated.", "format": "date-time", @@ -6075,6 +6258,7 @@ "required": [ "created_at", "id", + "output_unit", "src_format", "status", "updated_at" @@ -6123,6 +6307,14 @@ ], "description": "The unique identifier of the API call.\n\nThis is the same as the API call ID." }, + "output_unit": { + "allOf": [ + { + "$ref": "#/components/schemas/UnitVolume" + } + ], + "description": "The output unit for the volume." + }, "src_format": { "allOf": [ { @@ -6157,15 +6349,25 @@ "type": "string" }, "volume": { - "description": "The resulting volume.", + "deprecated": true, + "description": "The resulting volume. This is deprecated and will be removed in a future release. Use `volumes` instead.", "format": "double", "nullable": true, "type": "number" + }, + "volumes": { + "additionalProperties": { + "format": "double", + "type": "number" + }, + "description": "The volumes for each mesh in the file. The key of the hash map is the mesh name.", + "type": "object" } }, "required": [ "created_at", "id", + "output_unit", "src_format", "status", "updated_at" @@ -6300,11 +6502,53 @@ "Obj" ], "type": "string" + }, + "units": { + "allOf": [ + { + "$ref": "#/components/schemas/UnitLength" + } + ], + "description": "The units of the input data. This is very important for correct scaling and when calculating physics properties like mass, etc." } }, "required": [ "coords", - "type" + "type", + "units" + ], + "type": "object" + }, + { + "description": "The PLY Polygon File Format.", + "properties": { + "coords": { + "allOf": [ + { + "$ref": "#/components/schemas/System" + } + ], + "description": "Co-ordinate system of input data.\n\nDefaults to the [KittyCAD co-ordinate system].\n\n[KittyCAD co-ordinate system]: ../coord/constant.KITTYCAD.html" + }, + "type": { + "enum": [ + "Ply" + ], + "type": "string" + }, + "units": { + "allOf": [ + { + "$ref": "#/components/schemas/UnitLength" + } + ], + "description": "The units of the input data. This is very important for correct scaling and when calculating physics properties like mass, etc." + } + }, + "required": [ + "coords", + "type", + "units" ], "type": "object" }, @@ -6324,11 +6568,20 @@ "Stl" ], "type": "string" + }, + "units": { + "allOf": [ + { + "$ref": "#/components/schemas/UnitLength" + } + ], + "description": "The units of the input data. This is very important for correct scaling and when calculating physics properties like mass, etc." } }, "required": [ "coords", - "type" + "type", + "units" ], "type": "object" } @@ -7182,6 +7435,138 @@ "CameraDragEnd" ], "type": "object" + }, + { + "additionalProperties": false, + "description": "Change what the default camera is looking at.", + "properties": { + "DefaultCameraLookAt": { + "properties": { + "center": { + "allOf": [ + { + "$ref": "#/components/schemas/Point3d" + } + ], + "description": "What the camera is looking at. Center of the camera's field of vision" + }, + "up": { + "allOf": [ + { + "$ref": "#/components/schemas/Point3d" + } + ], + "description": "Which way is \"up\", from the camera's point of view." + }, + "vantage": { + "allOf": [ + { + "$ref": "#/components/schemas/Point3d" + } + ], + "description": "Where the camera is positioned" + } + }, + "required": [ + "center", + "up", + "vantage" + ], + "type": "object" + } + }, + "required": [ + "DefaultCameraLookAt" + ], + "type": "object" + }, + { + "additionalProperties": false, + "description": "Enable sketch mode, where users can sketch 2D geometry. Users choose a plane to sketch on.", + "properties": { + "DefaultCameraEnableSketchMode": { + "properties": { + "distance_to_plane": { + "description": "How far to the sketching plane?", + "format": "float", + "type": "number" + }, + "origin": { + "allOf": [ + { + "$ref": "#/components/schemas/Point3d" + } + ], + "description": "What's the origin of the sketching plane?" + }, + "ortho": { + "description": "Should the camera use orthographic projection? In other words, should an object's size in the rendered image stay constant regardless of its distance from the camera.", + "type": "boolean" + }, + "x_axis": { + "allOf": [ + { + "$ref": "#/components/schemas/Point3d" + } + ], + "description": "Which 3D axis of the scene should be the X axis of the sketching plane?" + }, + "y_axis": { + "allOf": [ + { + "$ref": "#/components/schemas/Point3d" + } + ], + "description": "Which 3D axis of the scene should be the Y axis of the sketching plane?" + } + }, + "required": [ + "distance_to_plane", + "origin", + "ortho", + "x_axis", + "y_axis" + ], + "type": "object" + } + }, + "required": [ + "DefaultCameraEnableSketchMode" + ], + "type": "object" + }, + { + "description": "Disable sketch mode, from the default camera.", + "enum": [ + "DefaultCameraDisableSketchMode" + ], + "type": "string" + }, + { + "additionalProperties": false, + "description": "Export the scene to a file.", + "properties": { + "Export": { + "properties": { + "format": { + "allOf": [ + { + "$ref": "#/components/schemas/OutputFormat" + } + ], + "description": "The file format to export to." + } + }, + "required": [ + "format" + ], + "type": "object" + } + }, + "required": [ + "Export" + ], + "type": "object" } ] }, @@ -7500,6 +7885,39 @@ ], "type": "object" }, + { + "description": "The PLY Polygon File Format.", + "properties": { + "coords": { + "allOf": [ + { + "$ref": "#/components/schemas/System" + } + ], + "description": "Co-ordinate system of output data.\n\nDefaults to the [KittyCAD co-ordinate system].\n\n[KittyCAD co-ordinate system]: ../coord/constant.KITTYCAD.html" + }, + "storage": { + "allOf": [ + { + "$ref": "#/components/schemas/Storage" + } + ], + "description": "The storage for the output PLY file." + }, + "type": { + "enum": [ + "Ply" + ], + "type": "string" + } + }, + "required": [ + "coords", + "storage", + "type" + ], + "type": "object" + }, { "description": "ISO 10303-21 (STEP) format.", "properties": { @@ -8502,101 +8920,59 @@ "UnitArea": { "description": "The valid types of area units.", "oneOf": [ - { - "description": "Acres ", - "enum": [ - "acres" - ], - "type": "string" - }, - { - "description": "Hectares ", - "enum": [ - "hectares" - ], - "type": "string" - }, { "description": "Square centimetres ", "enum": [ - "square_centimetres" + "cm2" ], "type": "string" }, { "description": "Square decimetres ", "enum": [ - "square_decimetres" + "dm2" ], "type": "string" }, { "description": "Square feet ", "enum": [ - "square_feet" - ], - "type": "string" - }, - { - "description": "Square hectometres ", - "enum": [ - "square_hectometres" + "ft2" ], "type": "string" }, { "description": "Square inches ", "enum": [ - "square_inches" + "in2" ], "type": "string" }, { "description": "Square kilometres ", "enum": [ - "square_kilometres" + "km2" ], "type": "string" }, { "description": "Square metres ", "enum": [ - "square_metres" - ], - "type": "string" - }, - { - "description": "Square micrometres ", - "enum": [ - "square_micrometres" - ], - "type": "string" - }, - { - "description": "Square miles ", - "enum": [ - "square_miles" + "m2" ], "type": "string" }, { "description": "Square millimetres ", "enum": [ - "square_millimetres" - ], - "type": "string" - }, - { - "description": "Square nanometres ", - "enum": [ - "square_nanometres" + "mm2" ], "type": "string" }, { "description": "Square yards ", "enum": [ - "square_yards" + "yd2" ], "type": "string" } @@ -8821,6 +9197,25 @@ ], "type": "object" }, + "UnitDensity": { + "description": "The valid types for density units.", + "oneOf": [ + { + "description": "Pounds per cubic feet.", + "enum": [ + "lb:ft3" + ], + "type": "string" + }, + { + "description": "Kilograms per cubic meter.", + "enum": [ + "kg:m3" + ], + "type": "string" + } + ] + }, "UnitEnergy": { "description": "The valid types of energy units.", "oneOf": [ @@ -9268,91 +9663,42 @@ { "description": "Centimetres ", "enum": [ - "centimetres" - ], - "type": "string" - }, - { - "description": "Decimetres ", - "enum": [ - "decimetres" + "cm" ], "type": "string" }, { "description": "Feet ", "enum": [ - "feet" - ], - "type": "string" - }, - { - "description": "Furlongs ", - "enum": [ - "furlongs" - ], - "type": "string" - }, - { - "description": "Hectometres ", - "enum": [ - "hectometres" + "ft" ], "type": "string" }, { "description": "Inches ", "enum": [ - "inches" - ], - "type": "string" - }, - { - "description": "Kilometres ", - "enum": [ - "kilometres" + "in" ], "type": "string" }, { "description": "Metres ", "enum": [ - "metres" - ], - "type": "string" - }, - { - "description": "Micrometres ", - "enum": [ - "micrometres" - ], - "type": "string" - }, - { - "description": "Miles ", - "enum": [ - "miles" + "m" ], "type": "string" }, { "description": "Millimetres ", "enum": [ - "millimetres" - ], - "type": "string" - }, - { - "description": "Nanometres ", - "enum": [ - "nanometres" + "mm" ], "type": "string" }, { "description": "Yards ", "enum": [ - "yards" + "yd" ], "type": "string" } @@ -9454,108 +9800,24 @@ "UnitMass": { "description": "The valid types of mass units.", "oneOf": [ - { - "description": "Carats ", - "enum": [ - "carats" - ], - "type": "string" - }, - { - "description": "Grains ", - "enum": [ - "grains" - ], - "type": "string" - }, { "description": "Grams ", "enum": [ - "grams" + "g" ], "type": "string" }, { "description": "Kilograms ", "enum": [ - "kilograms" - ], - "type": "string" - }, - { - "description": "Long tons ", - "enum": [ - "long_tons" - ], - "type": "string" - }, - { - "description": "Metric tons ", - "enum": [ - "metric_tons" - ], - "type": "string" - }, - { - "description": "Micrograms ", - "enum": [ - "micrograms" - ], - "type": "string" - }, - { - "description": "Milligrams ", - "enum": [ - "milligrams" - ], - "type": "string" - }, - { - "description": "Ounces ", - "enum": [ - "ounces" - ], - "type": "string" - }, - { - "description": "Pennyweights ", - "enum": [ - "pennyweights" + "kg" ], "type": "string" }, { "description": "Pounds ", "enum": [ - "pounds" - ], - "type": "string" - }, - { - "description": "Short tons ", - "enum": [ - "short_tons" - ], - "type": "string" - }, - { - "description": "Stones ", - "enum": [ - "stones" - ], - "type": "string" - }, - { - "description": "Troy ounces ", - "enum": [ - "troy_ounces" - ], - "type": "string" - }, - { - "description": "Troy pounds ", - "enum": [ - "troy_pounds" + "lb" ], "type": "string" } @@ -10190,135 +10452,65 @@ "description": "The valid types of volume units.", "oneOf": [ { - "description": "Cubic centimeters (cc or cm³) ", + "description": "Cubic centimetres (cc or cm³) ", "enum": [ - "cubic_centimetres" + "cm3" ], "type": "string" }, { "description": "Cubic feet (ft³) ", "enum": [ - "cubic_feet" + "ft3" ], "type": "string" }, { "description": "Cubic inches (cu in or in³) ", "enum": [ - "cubic_inches" + "in3" ], "type": "string" }, { "description": "Cubic metres (m³) ", "enum": [ - "cubic_metres" + "m3" ], "type": "string" }, { "description": "Cubic yards (yd³) ", "enum": [ - "cubic_yards" - ], - "type": "string" - }, - { - "description": "Cups ", - "enum": [ - "cups" - ], - "type": "string" - }, - { - "description": "Drams ", - "enum": [ - "drams" - ], - "type": "string" - }, - { - "description": "Drops ", - "enum": [ - "drops" + "yd3" ], "type": "string" }, { "description": "US Fluid Ounces (fl oz) ", "enum": [ - "fluid_ounces" - ], - "type": "string" - }, - { - "description": "UK Fluid Ounces (fl oz) ", - "enum": [ - "fluid_ounces_uk" + "usfloz" ], "type": "string" }, { "description": "US Gallons (gal US) ", "enum": [ - "gallons" - ], - "type": "string" - }, - { - "description": "UK/Imperial Gallons (gal) ", - "enum": [ - "gallons_uk" + "usgal" ], "type": "string" }, { "description": "Liters (l) ", "enum": [ - "litres" + "l" ], "type": "string" }, { "description": "Milliliters (ml) ", "enum": [ - "millilitres" - ], - "type": "string" - }, - { - "description": "Pints ", - "enum": [ - "pints" - ], - "type": "string" - }, - { - "description": "Pints in the United Kingdom (UK) ", - "enum": [ - "pints_uk" - ], - "type": "string" - }, - { - "description": "Quarts ", - "enum": [ - "quarts" - ], - "type": "string" - }, - { - "description": "Tablespoons (tbsp) ", - "enum": [ - "tablespoons" - ], - "type": "string" - }, - { - "description": "Teaspoons (tsp) ", - "enum": [ - "teaspoons" + "ml" ], "type": "string" } @@ -12120,6 +12312,14 @@ "description": "We assume any file given to us has one consistent unit throughout. We also assume the file is at the proper scale.\nCurrently, this endpoint returns the cartesian co-ordinate in world space measure units.\nIn the future, we will use the units inside the file if they are given and do any conversions if necessary for the calculation. But currently, that is not supported.\nGet the center of mass of an object in a CAD file. If the file is larger than 25MB, it will be performed asynchronously.\nIf the operation is performed asynchronously, the `id` of the operation will be returned. You can use the `id` returned from the request to get status information about the async operation from the `/async/operations/{id}` endpoint.", "operationId": "create_file_center_of_mass", "parameters": [ + { + "description": "The output unit for the center of mass.", + "in": "query", + "name": "output_unit", + "schema": { + "$ref": "#/components/schemas/UnitLength" + } + }, { "description": "The format of the file.", "in": "query", @@ -12431,10 +12631,26 @@ "name": "material_mass", "required": true, "schema": { - "format": "float", + "format": "double", "type": "number" } }, + { + "description": "The unit of the material mass.", + "in": "query", + "name": "material_mass_unit", + "schema": { + "$ref": "#/components/schemas/UnitMass" + } + }, + { + "description": "The output unit for the density.", + "in": "query", + "name": "output_unit", + "schema": { + "$ref": "#/components/schemas/UnitDensity" + } + }, { "description": "The format of the file.", "in": "query", @@ -12736,10 +12952,26 @@ "name": "material_density", "required": true, "schema": { - "format": "float", + "format": "double", "type": "number" } }, + { + "description": "The unit of the material density.", + "in": "query", + "name": "material_density_unit", + "schema": { + "$ref": "#/components/schemas/UnitDensity" + } + }, + { + "description": "The output unit for the mass.", + "in": "query", + "name": "output_unit", + "schema": { + "$ref": "#/components/schemas/UnitMass" + } + }, { "description": "The format of the file.", "in": "query", @@ -12878,6 +13110,14 @@ "description": "We assume any file given to us has one consistent unit throughout. We also assume the file is at the proper scale.\nCurrently, this endpoint returns the square measure units.\nIn the future, we will use the units inside the file if they are given and do any conversions if necessary for the calculation. But currently, that is not supported.\nGet the surface area of an object in a CAD file. If the file is larger than 25MB, it will be performed asynchronously.\nIf the operation is performed asynchronously, the `id` of the operation will be returned. You can use the `id` returned from the request to get status information about the async operation from the `/async/operations/{id}` endpoint.", "operationId": "create_file_surface_area", "parameters": [ + { + "description": "The output unit for the surface area.", + "in": "query", + "name": "output_unit", + "schema": { + "$ref": "#/components/schemas/UnitArea" + } + }, { "description": "The format of the file.", "in": "query", @@ -13017,6 +13257,14 @@ "description": "We assume any file given to us has one consistent unit throughout. We also assume the file is at the proper scale.\nCurrently, this endpoint returns the cubic measure units.\nIn the future, we will use the units inside the file if they are given and do any conversions if necessary for the calculation. But currently, that is not supported.\nGet the volume of an object in a CAD file. If the file is larger than 25MB, it will be performed asynchronously.\nIf the operation is performed asynchronously, the `id` of the operation will be returned. You can use the `id` returned from the request to get status information about the async operation from the `/async/operations/{id}` endpoint.", "operationId": "create_file_volume", "parameters": [ + { + "description": "The output unit for the volume.", + "in": "query", + "name": "output_unit", + "schema": { + "$ref": "#/components/schemas/UnitVolume" + } + }, { "description": "The format of the file.", "in": "query",