Maintenance

Items

GET /api/maintenance/items/

List all existing maintenance items.

Query Parameters:
  • item_type (string) – get only items of a certain type

  • machine_id (int) – limit results to issues with this machine. Use 0 to get issues with no machine assigned. Can be provided multiple times to include issues from multiple machines.

  • equipment_id (int) – limit results to issues with this equipment. Use 0 to get issues with no equipment assigned. Can be provided multiple times to include issues from multiple pieces of equipment.

Returns:

a map of MaintenanceItem ID to MaintenanceItem object

GET /api/maintenance/items/(int: item_id)

Get details about a single maintenance item.

Parameters:
  • item_id – the ID of the item to get details for

Status Codes:
Returns:

a MaintenanceItem object

PUT /api/maintenance/items/

Create a new maintenance item.

Reqjson:

a MaintenanceItem object with at least the following fields: - item_type: one of measurement, task - name: name for the item

Status Codes:
Returns:

the newly created MaintenanceItem object

PATCH /api/maintenance/items/(int: item_id)

Edit an existing maintenance item.

Reqjson:

a (partial) MaintenanceItem object. It is not possible to change an item’s type, so the item_type field will be ignored.

Status Codes:
Returns:

the modified MaintenanceItem object

DELETE /api/maintenance/items/(int: item_id)

Delete an existing maintenance item.

Status Codes:
GET /api/maintenance/items/(int: item_id)/entries

Get a maintenance item’s entries.

Use limit and offset to get only recent entries (results are queried newest to oldest, but the returned object is unordered).

Parameters:
  • item_id – the ID of the maintenance item to get entries for

Query Parameters:
  • limit (int) – limit the number of entries returned

  • offset (int) – skip this many entries

Status Codes:
Returns:

a map of MaintenanceEntry ID to MaintenanceEntry object

GET /api/maintenance/items/schedule

Get recurrence timestamps of all maintenance items in a selected date range.

Query Parameters:
  • start (int) – start of time range (UNIX timestamp)

  • end (int) – end of time range (UNIX timestamp)

Status Codes:
Returns:

an object mapping maintenance item ID to a list of due dates (UNIX timestamps)

POST /api/maintenance/items/previewSchedule

List the next few times when the provided schedule would run. The request body should include at least the scheduling fields of a maintenance item, but the id and initial_entry fields are also used if provided:

If id is set, the schedule will start from the timestamp of the last maintenance entry with that item ID, falling back to the initial_entry field otherwise. If neither field is set, the schedule will start from the current date in the local time zone.

Query Parameters:
  • count (int) – how many future times to get (defaults to 1)

Reqjson:

a partial MaintenanceItem object

Returns:

an array of count UNIX timestamps

POST /api/maintenance/items/averageCompletionDurations

Calculates the average of the duration values for successful completions of a maintenance item.

Example request body
 [42, 43, 44, 45]
Example response body for the above example request, where maintenance item 44 has never been completed successfully and 45 doesn’t exist.
 {"42": 18.4, "43": 26.1, "44": null}
Reqjsonarr:

IDs of the maintenance item to analyze. Invalid item IDs will be ignored.

Returns:

an object mapping each maintenance item ID to a floating point number of minutes, which will be null for maintenance items that have never been completed successfully.

Status Codes:
GET /api/maintenance/items/import

Get a copy of the maintenance item import template that can be filled in to bulk import maintenance items.

Returns:

an XLTX file

POST /api/maintenance/items/import

Upload a filled-in copy of the maintenance item import template.

The request body should be the binary file.

Query Parameters:
  • machine (int) – if provided, maintenance items created during this import will be assigned to the machine with this ID.

Status Codes:
Resjsonobj:

maps maintenance item ID to new maintenance item object

Entries

PUT /api/maintenance/entries/

Create a new maintenance entry.

Reqjson:

a MaintenanceEntry object

Request JSON Object:
  • entry_type (string) – one of measurement, task (required)

  • item_id (int) – ID of the item this entry is for (required)

Status Codes:
Returns:

the newly created MaintenanceEntry object

PATCH /api/maintenance/entries/(int: entry_id)

Edit an existing maintenance entry.

Reqjson:

a (partial) MaintenanceEntry object. It is not possible to change an entry’s type, so the entry_type field will be ignored.

Status Codes:
Returns:

the modified MaintenanceEntry object

DELETE /api/maintenance/entries/(int: entry_id)

Delete an existing maintenance entry.

Status Codes:

Issues