Motor Selection API V1 Usage Guide
Note: this is an old version of the API.
The current endpoints, .../api/motorselection
and .../api/getoperatingpoint
, will soon be removed.
Please convert any existing code to use our new endpoints, /api/v5/motor-selection'
and /api/v5/get-operating-point
.
These new endpoints will deliver more up to date information about Infinitum's current motor catalogue.
More information can be found here.
Overview
The Infinitum Motor Selection API provides a way to query for compatible Infinitum electric motors based on user-defined parameters. This API is designed to facilitate and streamline the process of motor selection for developers.
Endpoints:
/motorselection
https://next-mst-ts-jdubba1.vercel.app/api/motorselection
Request Method
GET
Request Parameters
The API accepts three query parameters as input:
Name | Type | Description |
---|---|---|
power | Number | The desired power of the motor. Can be in horsepower (hp) or kilowatts (kw), determined by the 'units' parameter. |
rpm | Number | The desired RPM of the motor. |
units | String | The units of power to use for the query. Must be exactly 'hp' for horsepower or 'kw' for kilowatts. |
Sample Request
https://next-mst-ts-jdubba1.vercel.app/api/motorselection?power=5&rpm=1480&units=hp
The above request will return a list of two motors that are rated to run at 5 horsepower and 1480 RPM.
Response Format
The API will return an array of motor objects in JSON format. If the request matches one of our standard motors, the response will contain one object - that standard motor. Otherwise, the response will be an array of two motor objects: a standard motor followed by a custom motor.
Each motor object includes the following attributes:
Name | Type | Description |
---|---|---|
type | String | The type of the motor - can be 'standard' or 'custom'. |
catnumber | String | The catalog number of the motor. |
power_hp | Number | The power of the motor in horsepower. |
power_kw | Number | The power of the motor in kilowatts. |
rated_rpm | Number | The rated RPM of the motor. |
torque_nm | Number | The torque of the motor in Newton meters. |
torque_lbft | Number | The torque of the motor in pound-feet. |
rated_amps | Number | The rated current of the motor in Amperes. |
voltage | Number | The rated voltage of the motor. |
frequency_hz | Number | The frequency of the motor in Hertz. |
efficiency | Number | The efficiency of the motor. |
length_in | Number | The length of the motor in inches. |
diameter_in | Number | The diameter of the motor in inches. |
weight_lbs | Number | The weight of the motor in pounds. |
frame | String | The frame type of the motor. |
datasheet | String | The URL for the datasheet of the motor. |
drawings | String | The URL for the drawings of the motor. |
stepfile | String | The URL for the step file of the motor. |
Input Parameter Limitiations
- The
power
parameter must be a number. If theunits
parameter is 'hp', the power must be between 1 and 15 inclusive. If theunits
parameter is 'kw', the power must be between 0.8 and 11.2 inclusive. - The
rpm
parameter must be a number between 540 and 4500 inclusive. - The
units
parameter must be a string and can only accept two values: 'hp' for horsepower and 'kw' for kilowatts.
/getoperatingpoint
https://next-mst-ts-jdubba1.vercel.app/api/getoperatingpoint
Request Method
GET
Request Parameters
The API accepts three query parameters as input:
Name | Type | Description |
---|---|---|
catnumber | String | The catalog number of the motor. |
power | Number | The desired power of the motor. Can be in horsepower (hp) or kilowatts (kw), determined by the 'units' parameter. |
rpm | Number | The desired RPM of the motor. |
units | String | The units of power to use for the query. Must be exactly 'hp' for horsepower or 'kw' for kilowatts. |
Note - The catnumber
parameter must exactly match one of the motors in our catalogue.
const valid_catnumber_inputs = [
"IES130-5-3600-460",
"IES130-5-4200-460",
"IES150-5-1800-460",
"IES150-7.5-2400-460",
"IES150-7.5-3600-460",
"IES180-10-2400-460",
"IES180-10-3600-460",
"IES205-10-1800-460",
"IES205-15-2400-460",
"IES205-15-3600-460",
]
Sample Request
https://next-mst-ts-jdubba1.vercel.app/api/getoperatingpoint?catnumber=IES130-5-3600-460&power=1.1&rpm=2750&units=hp
The above request will return an efficiency object (containing the estimated efficiency at that operating point and the accompanying input current), and a motor object (the query motor).
Response Format
The API will return an array of two objects: an efficiency object, and a motor object corresponding to your catnumber input.
Below are the attributes of the efficiency object. For more information on the motor object, see the response format for the /motorselection
endpoint.
Name | Type | Description |
---|---|---|
system_efficiency | Number | The estimated efficiency at the requested operating point. |
input_current | Number | The corresponding input current for the operating point. |
Input Parameter Limitiations
- The
power
parameter must be below the requested motor's rated power. - The
rpm
parameter must be below the requested motor's rated rpm. - Computed torque from the above two values must not exceed the motor's rated torque. The endpoint will respond with the computed torque to assist in debugging this.
- The
units
parameter must be exactly: 'hp' for horsepower and 'kw' for kilowatts.
Additional Notes
Error Handling
The API provides clear error messages and appropriate HTTP status codes (400) in the event of a bad request due to missing or invalid parameters. Furthermore, the API will return lots of useful information in the event of a bad request - including which parameters were rejected, what was missing, etc.
Typescript Support
This API is built in TypeScript and is end-to-end typesafe. All parameters, responses, and error messages are strictly typed.
Please feel free to reach out if you encounter any issues or have any further questions.