V1 API (DEPRECATED)

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

url
https://next-mst-ts-jdubba1.vercel.app/api/motorselection

Request Method

GET

Request Parameters

The API accepts three query parameters as input:

NameTypeDescription
powerNumberThe desired power of the motor. Can be in horsepower (hp) or kilowatts (kw), determined by the 'units' parameter.
rpmNumberThe desired RPM of the motor.
unitsStringThe units of power to use for the query. Must be exactly 'hp' for horsepower or 'kw' for kilowatts.

Sample Request

bash
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:

NameTypeDescription
typeStringThe type of the motor - can be 'standard' or 'custom'.
catnumberStringThe catalog number of the motor.
power_hpNumberThe power of the motor in horsepower.
power_kwNumberThe power of the motor in kilowatts.
rated_rpmNumberThe rated RPM of the motor.
torque_nmNumberThe torque of the motor in Newton meters.
torque_lbftNumberThe torque of the motor in pound-feet.
rated_ampsNumberThe rated current of the motor in Amperes.
voltageNumberThe rated voltage of the motor.
frequency_hzNumberThe frequency of the motor in Hertz.
efficiencyNumberThe efficiency of the motor.
length_inNumberThe length of the motor in inches.
diameter_inNumberThe diameter of the motor in inches.
weight_lbsNumberThe weight of the motor in pounds.
frameStringThe frame type of the motor.
datasheetStringThe URL for the datasheet of the motor.
drawingsStringThe URL for the drawings of the motor.
stepfileStringThe URL for the step file of the motor.

Input Parameter Limitiations

  • The power parameter must be a number. If the units parameter is 'hp', the power must be between 1 and 15 inclusive. If the units 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

url
https://next-mst-ts-jdubba1.vercel.app/api/getoperatingpoint

Request Method

GET

Request Parameters

The API accepts three query parameters as input:

NameTypeDescription
catnumberStringThe catalog number of the motor.
powerNumberThe desired power of the motor. Can be in horsepower (hp) or kilowatts (kw), determined by the 'units' parameter.
rpmNumberThe desired RPM of the motor.
unitsStringThe 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.

motorCatalogue.js
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

url
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.

NameTypeDescription
system_efficiencyNumberThe estimated efficiency at the requested operating point.
input_currentNumberThe 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.