Please enable JavaScript to view this website.

Skip to main content

tooldata-api (1)

Download OpenAPI specification:Download

Tool diagnostic data API

ble-advertisement-schemas

/v1/ble-advertisement-schema

Authorizations:
x-api-key

Responses

/v1/ble-advertisement-schema

Authorizations:
auth0-authorizer

Responses

/v1/ble-advertisement-schema/{productHex}

Authorizations:
x-api-key
path Parameters
productHex
required
string

Generated path parameter for productHex

Responses

Parse BLE advertisement schema raw data

Authorizations:
auth0-authorizer
Request Body schema: application/json
ProductHex
required
string
RawBytes
required
Array of strings
object (BleAdvertisementDefinition)

Responses

Request samples

Content type
application/json
{
  • "ProductHex": "0000",
  • "RawBytes": [
    ],
  • "BLE_Definition_JSON": {
    }
}

Response samples

Content type
application/json
[
  • {
    }
]

/v1/buffered

/v1/buffered

Authorizations:
auth0-authorizer
query Parameters
mpbid
required
string

Generated query parameter for mpbid

sequenceId
required
integer

Generated query parameter for sequenceId

Responses

Response samples

Content type
application/json
{
  • "sequenceId": 1662561099032,
  • "mpbid": 1000000,
  • "cycleId": 5,
  • "memoryMapVersion": 1,
  • "memoryPointer": 1,
  • "progress": "COMPLETE"
}

/buffered/v1/{mpbid}/{sequenceId}

Authorizations:
x-api-key
path Parameters
mpbid
required
string

Generated path parameter for mpbid

sequenceId
required
string

Generated path parameter for sequence id

Request Body schema: application/json
mpbid
required
string = 10 characters
dataType
required
string
Enum: "sequential" "realtime"
sequenceId
number
totalEvents
number
userId
string
timestamp
number
generation
number
Array of objects
Array of objects

Responses

Request samples

Content type
application/json
{
  • "mpbid": 1000000,
  • "dataType": "sequential",
  • "sequenceId": 1231231234,
  • "totalEvents": 123,
  • "userId": 123,
  • "timestamp": 1231231234,
  • "generation": 123,
  • "variableDefinitions": [
    ],
  • "data": [
    ]
}

/v1/buffered/create

/v1/buffered/create

Authorizations:
x-api-key
Request Body schema: application/json
mpbid
required
string
sequenceId
required
integer

Responses

Request samples

Content type
application/json
{
  • "mpbid": "string",
  • "sequenceId": 0
}

Response samples

Content type
application/json
{
  • "sequenceId": 1231231234,
  • "mpbid": 1000000
}

/v1/buffered/create Deprecated

Authorizations:
x-api-key
Request Body schema: application/json
mpbid
required
string = 10 characters
memoryMapVersion
required
string
cycleId
string
memoryPointer
string

Responses

Request samples

Content type
application/json
{
  • "mpbid": "stringstri",
  • "memoryMapVersion": "string",
  • "cycleId": "string",
  • "memoryPointer": "string"
}

Response samples

Content type
application/json
{
  • "sequenceId": 1231231234,
  • "mpbid": 1000000
}

/v1/buffered/lastread/{mpbid}

/v1/buffered/lastread/{mpbid}

Authorizations:
x-api-key
path Parameters
mpbid
required
string

Generated path parameter for mpbid

Responses

Response samples

Content type
application/json
{
  • "mpbid": 1000000,
  • "lastSequentialReadApplication": 1,
  • "lastRealtimeReadApplication": 1
}

/v1/data-logger/conversion-types

/v1/data-logger/conversion-types

Authorizations:
auth0-authorizer

Responses

/v1/data-logger/variables

/v1/data-logger/variables

Authorizations:
auth0-authorizer

Responses

/v1/data-logger/variables

Authorizations:
auth0-authorizer
Request Body schema: application/json
variableName
required
string [ 1 .. 255 ] characters

Descriptive name of what the variable represents

variableNumber
required
number [ 1 .. 65535 ]

Unique identifier of the variable. Must be between 1 & 65535 (inclusive)

unit
required
string [ 1 .. 255 ] characters

Unit of measurement for variables. E.g. RPM or mV or mA

conversion
required
number

Tells you how to convert the value to human readable format

sizeBytes
required
number

Amount of bytes used to represent the value of this variable

description
required
string

Responses

Request samples

Content type
application/json
{
  • "variableName": "string",
  • "variableNumber": 1,
  • "unit": "string",
  • "conversion": 0,
  • "sizeBytes": 0,
  • "description": "string"
}

/v1/data-logger/variables/{variableNumber}

/v1/data-logger/variables/{variableNumber}

Authorizations:
auth0-authorizer
path Parameters
variableNumber
required
number

Responses

/v1/data-logger/variables/{variableNumber}

Authorizations:
auth0-authorizer
path Parameters
variableNumber
required
number
Request Body schema: application/json
variableName
string [ 1 .. 255 ] characters

Descriptive name of what the variable represents

unit
string [ 1 .. 255 ] characters

Unit of measurement for variables. E.g. RPM or mV or mA

conversion
number

Tells you how to convert the value to human readable format

sizeBytes
number

Amount of bytes used to represent the value of this variable

description
string

Responses

Request samples

Content type
application/json
{
  • "variableName": "string",
  • "unit": "string",
  • "conversion": 0,
  • "sizeBytes": 0,
  • "description": "string"
}

/v1/data-logger/variables/{variableNumber}

Authorizations:
auth0-authorizer
path Parameters
variableNumber
required
number

Responses

/v1/firmware/event

/v1/firmware/event

Authorizations:
auth0-authorizer
Request Body schema: application/json
startTimestamp
required
number

Unix epoch timestamp (UTC) representing when the firmware flashing process started

endTimestamp
required
number

Unix epoch timestamp (UTC) representing when the firmware flashing process ended

mpbid
required
string = 10 characters

The unique MPBID of the tool receiving the updated firmware

sourceFirmwareVersion
required
string >= 7 characters

Firmware version on the tool before flashing. Read from memory address 0x000D. Can be either Milwaukee Tool variation semver or HEX format. If semver format is used, include all 4 version fields. If HEX format is used, it should be 4bytes/8 characters in length.

targetFirmwareVersion
required
string >= 7 characters

Firmware version on the tool after flashing. Read from memory address 0x000D. Can be either Milwaukee Tool variation semver or HEX format. Can be either semver or HEX format. If semver format is used, include all 4 version fields. If HEX format is used, it should be 4bytes/8 characters in length.

firmwareImageLength
number

Length in bytes of the firmware image file being used for flashing

firmwareSource
number

Number representing source of the firmware. 0 = None/Unknown, 1 = SideLoaded 2 = Artifactory

statusCode
required
number [ 0 .. 9 ]

Number representing status of the flash. Use 0 for success. success = 0, signatureError = 1, digestCompareError = 2, crcCheckError = 3, copyError = 4, startUpCRCError = 5, headerMismatchError = 6, genericError = 7, inProgress = 8, lengthError = 9,

errorMessage
string

Optional descriptive error message to provide additional context if an error occurred

clientVersion
string

The version of the client doing the flashing

username
string

Email address of the user doing the flashing

filename
string

Name of the firmware file

bootLoaderType
required
number

Number representing the type of the boot loader. Either 1 = Slim or 2 = Standard

client
string

What client was used to send the data e.g. ServiceApp

partNumber
required
string

This is the firmware part number of the tool being flashed. Read from memory address 0x0009

releaseType
string

This is the firmware release type that comes from Artifactory if the firmware source is Artifactory

uniqueDeviceId
string

The Unique Device ID of the MCU in the tool. Can be variable in length by product. Read from memory address 0x007E

Responses

Request samples

Content type
application/json
{
  • "startTimestamp": 1620668566765,
  • "endTimestamp": 1620668580488,
  • "mpbid": "0000000000",
  • "sourceFirmwareVersion": "0.0.0.2",
  • "targetFirmwareVersion": "01020304",
  • "firmwareImageLength": 46864,
  • "firmwareSource": 2,
  • "statusCode": 0,
  • "errorMessage": "Lost Connection",
  • "clientVersion": "1.0.0",
  • "username": "example@milwaukeetool.com",
  • "filename": "g4drill1.bin",
  • "bootLoaderType": 1,
  • "client": "ServiceApp",
  • "partNumber": "898002239",
  • "releaseType": "prototype",
  • "uniqueDeviceId": "A1B2C3D40110022003300440"
}

/v1/hydraulic/async/{mpbid}

/v1/hydraulic/async/{mpbid}

Authorizations:
auth0-authorizer
path Parameters
mpbid
required
string
Request Body schema: application/json
TotalEvents
required
integer
TotalFullPressureEvents
required
integer
EventsUntilNextService
required
integer
Array of objects

Responses

Request samples

Content type
application/json
{
  • "TotalEvents": 0,
  • "TotalFullPressureEvents": 0,
  • "EventsUntilNextService": 0,
  • "Events": [
    ]
}

/v1/tooldata

/v1/tooldata

Authorizations:
x-api-key

Responses

/v1/tooldata

Authorizations:
x-api-key
Request Body schema: application/json
mpbid
required
string = 10 characters
timestamp
required
number

The timestamp of the data being sent in milliseconds since epoch

memoryMap
number

The version of the memory map that the tool is using. Same as memoryMapVersion

memoryMapVersion
required
number

The version of the memory map that the tool is using

sourceId
required
number

The source of the data being sent. See Source Types

svCode
string

The service code of the data being sent.

serialNumber
string

The serial number of the tool

object
object (KeyValuePair)

Optional tags to add to the data being sent.

required
Array of objects

Responses

Request samples

Content type
application/json
Example

Example request for uploading tool read data.

{
  • "mpbid": "FFFE000000",
  • "timestamp": 1616425200000,
  • "memoryMapVersion": 51,
  • "sourceId": 3,
  • "svCode": "SV2025",
  • "serialNumber": "1234567890",
  • "clientInfo": {
    },
  • "data": [
    ]
}

Response samples

Content type
application/json
{
  • "message": "success",
  • "data": {
    }
}

/v1/tooldata/all-products-warranty-info

/v1/tooldata/all-products-warranty-info

Authorizations:
auth0-lambda

Responses

/v1/tooldata/battery-pack-pcba

/v1/tooldata/battery-pack-pcba

Authorizations:
x-api-key

Responses

/v1/tooldata/battery-pack-pcba

Authorizations:
x-api-key

Responses

/v1/tooldata/battery-pack-pcba

Authorizations:
x-api-key

Responses

/v1/tooldata/diagnostics/parsed

/v1/tooldata/diagnostics/parsed

Authorizations:
x-api-key

Responses

/v1/tooldata/enumeration-dictionary

/v1/tooldata/enumeration-dictionary

Authorizations:
x-api-key

Responses

/v1/tooldata/enumeration-dictionary

Authorizations:
x-api-key

Responses

/v1/tooldata/enumeration-dictionary

Authorizations:
x-api-key

Responses

/v1/tooldata/enumeration-dictionary

Authorizations:
x-api-key

Responses

/v1/tooldata/enumeration-dictionary/entry

/v1/tooldata/enumeration-dictionary/entry

Authorizations:
x-api-key

Responses

/v1/tooldata/enumeration-dictionary/entry

Authorizations:
x-api-key

Responses

/v1/tooldata/enumeration-dictionary/entry

Authorizations:
x-api-key

Responses

/v1/tooldata/enumeration-dictionary/entry

Authorizations:
x-api-key

Responses

/v1/tooldata/memory-map

Get Memory Map

Retrieves memory map definitions for a specified product and memory map version. Memory maps describe OpenLink addresses within a product's memory, what data is stored at those addresses, and how to parse and display that data.

Authorizations:
x-api-key
query Parameters
product
required
integer
Example: product=298

The product ID (decimal format) to retrieve the memory map for.

memory_map_version
required
integer
Example: memory_map_version=4

The version of the memory map to retrieve.

Responses

Response samples

Content type
application/json
{
  • "message": "success",
  • "error": false,
  • "data": [
    ]
}

Update Memory Map

Updates an existing memory map definition for a specified product and memory map version. This endpoint allows you to modify the memory map data including field definitions, addresses, and parsing configurations.

Authorizations:
x-api-key
Request Body schema: application/json
required
product
number
product_id
number
memory_map_version
number
Array of objects (MemoryMapDataObject)
created_by
string
updated_by
string
updated_at
string <date-time>

Responses

Request samples

Content type
application/json
{
  • "product": 530,
  • "product_id": 530,
  • "memory_map_version": 5,
  • "data": [
    ],
  • "created_by": "waad|C4DMlijjMl0qlMF_2I9jXuwIDxHK3j7qXo0xRzCyvd0",
  • "updated_by": "waad|C4DMlijjMl0qlMF_2I9jXuwIDxHK3j7qXo0xRzCyvd0",
  • "updated_at": "2026-04-15T12:40:14.027Z"
}

Response samples

Content type
application/json
{
  • "message": "success",
  • "error": false
}

Create Memory Map

Creates a new memory map definition for a specified product and memory map version. Memory maps define the structure and parsing rules for tool memory data, including OpenLink addresses, field sizes, and display configurations.

Authorizations:
x-api-key
Request Body schema: application/json
required
product
number
product_id
number
memory_map_version
number
Array of objects (MemoryMapDataObject)
created_by
string
updated_by
string
updated_at
string <date-time>

Responses

Request samples

Content type
application/json
{
  • "product": 530,
  • "product_id": 530,
  • "memory_map_version": 5,
  • "data": [
    ],
  • "created_by": "waad|C4DMlijjMl0qlMF_2I9jXuwIDxHK3j7qXo0xRzCyvd0",
  • "updated_by": "waad|C4DMlijjMl0qlMF_2I9jXuwIDxHK3j7qXo0xRzCyvd0",
  • "updated_at": "2026-04-15T12:40:14.027Z"
}

Response samples

Content type
application/json
{
  • "message": "success",
  • "error": false
}

/v1/tooldata/product

Get Product Metadata

This endpoint returns product metadata. If a product ID is provided, a single product will be returned. If no product ID is provided, all products will be returned.

Authorizations:
x-api-key
query Parameters
productid
string
Example: productid=0x0001

Product ID in hex format with prefix 0x. Note: If this parameter is not provided, all products will be returned. Also note: when querying for a single product, additional information is returned (e.g. - imageUrl)

Responses

Response samples

Content type
application/json
{
  • "message": "Success",
  • "error": false,
  • "data": [
    ]
}

Update a single product info

Authorizations:
x-api-key

Responses

Create a new product definition

Authorizations:
x-api-key

Responses

/v1/tooldata/product/blemoduletypes

/v1/tooldata/product/blemoduletypes

Authorizations:
x-api-key

Responses

/v1/tooldata/product/platformtypes

/v1/tooldata/product/platformtypes

Authorizations:
x-api-key

Responses

Service Instance

Get service instance images

Retrieve Images associated with a SV Code.

query Parameters
mpbid
string
Example: mpbid=01320008F8

MPBID to query service instances

svcode
string
Example: svcode=SV1234567

SVCode to query service instances

nonopenlink
string
Enum: "true" "false"
Example: nonopenlink=false

Flag to query non-open link tools

serialNumber
string
Example: serialNumber=K16AD193900033

Serial number to query service instances for reports

Responses

Response samples

Content type
application/json
[
  • {
    }
]

Update service instance image

Update a record for the images associated with a SV Code.

Request Body schema: application/json
required
id
string
mpbid
string
svCode
string
position
string
object (NonWarrantableReasons)
imageContent
string
timestamp
number
userId
string
userEmail
string
userLocality
string
notes
string
object (ProductLabelInspectionContents)

Responses

Request samples

Content type
application/json
{
  • "id": "01JA8SHMF49PR8TTQYE9Q340DP",
  • "mpbid": "01320008F8",
  • "svCode": "SV1234567",
  • "position": "Top",
  • "nonWarrantableReasons": {
    },
  • "imageContent": "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAB=",
  • "timestamp": 1729019562642,
  • "userId": "bcbd01ae-cc21-444f-bb33-b4fa2f948b22",
  • "userEmail": "Jared.Chapiewsky@milwaukeetool.com",
  • "userLocality": "Madison_WI_53707",
  • "notes": "Notes",
  • "productLabelInspectionContents": {
    }
}

Response samples

Content type
application/json
[
  • {
    }
]

Create new service instance image

Create a record for images associated with a SV Code.

Request Body schema: application/json
required
id
string
mpbid
string
svCode
string
position
string
object (NonWarrantableReasons)
imageContent
string
timestamp
number
userId
string
userEmail
string
userLocality
string
notes
string
object (ProductLabelInspectionContents)

Responses

Request samples

Content type
application/json
{
  • "id": "01JA8SHMF49PR8TTQYE9Q340DP",
  • "mpbid": "01320008F8",
  • "svCode": "SV1234567",
  • "position": "Top",
  • "nonWarrantableReasons": {
    },
  • "imageContent": "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAB=",
  • "timestamp": 1729019562642,
  • "userId": "bcbd01ae-cc21-444f-bb33-b4fa2f948b22",
  • "userEmail": "Jared.Chapiewsky@milwaukeetool.com",
  • "userLocality": "Madison_WI_53707",
  • "notes": "Notes",
  • "productLabelInspectionContents": {
    }
}

Response samples

Content type
application/json
[
  • {
    }
]

Update service instance image

Update a record for the images associated with a SV Code.

Request Body schema: application/json
required
id
string
mpbid
string
svCode
string
position
string
object (NonWarrantableReasons)
imageContent
string
timestamp
number
userId
string
userEmail
string
userLocality
string
notes
string
object (ProductLabelInspectionContents)

Responses

Request samples

Content type
application/json
{
  • "id": "01JA8SHMF49PR8TTQYE9Q340DP",
  • "mpbid": "01320008F8",
  • "svCode": "SV1234567",
  • "position": "Top",
  • "nonWarrantableReasons": {
    },
  • "imageContent": "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAB=",
  • "timestamp": 1729019562642,
  • "userId": "bcbd01ae-cc21-444f-bb33-b4fa2f948b22",
  • "userEmail": "Jared.Chapiewsky@milwaukeetool.com",
  • "userLocality": "Madison_WI_53707",
  • "notes": "Notes",
  • "productLabelInspectionContents": {
    }
}

Response samples

Content type
application/json
[
  • {
    }
]

Create new service instance image

Create a record for images associated with a SV Code.

Request Body schema: application/json
required
id
string
mpbid
string
svCode
string
position
string
object (NonWarrantableReasons)
imageContent
string
timestamp
number
userId
string
userEmail
string
userLocality
string
notes
string
object (ProductLabelInspectionContents)

Responses

Request samples

Content type
application/json
{
  • "id": "01JA8SHMF49PR8TTQYE9Q340DP",
  • "mpbid": "01320008F8",
  • "svCode": "SV1234567",
  • "position": "Top",
  • "nonWarrantableReasons": {
    },
  • "imageContent": "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAB=",
  • "timestamp": 1729019562642,
  • "userId": "bcbd01ae-cc21-444f-bb33-b4fa2f948b22",
  • "userEmail": "Jared.Chapiewsky@milwaukeetool.com",
  • "userLocality": "Madison_WI_53707",
  • "notes": "Notes",
  • "productLabelInspectionContents": {
    }
}

Response samples

Content type
application/json
[
  • {
    }
]

Delete service instance image

Delete a record for the images associated with a SV Code.

Request Body schema: application/json
required
id
string
mpbid
string
svCode
string

Responses

Request samples

Content type
application/json
{
  • "id": "01JA8SHMF49PR8TTQYE9Q340DP",
  • "mpbid": "01320008F8",
  • "svCode": "SV1234567"
}

Response samples

Content type
application/json
[
  • {
    }
]

Generate report

Generate PDF report for the service event.

Request Body schema: application/json
required
id
string
svCode
string
reportType
number
userId
string
mpbid
string
language
string
object (Service)
companyLogo?
string
object (ReportAddress)
object
object
object

Responses

Request samples

Content type
application/json
{
  • "id": "01JDJ7MSMRKT8S147T1QR1G92Y",
  • "svCode": "SV1234567",
  • "reportType": 1,
  • "userId": "bcbd01ae-cc21-444f-bb33-b4fa2f948b22",
  • "mpbid": "01320008F8",
  • "language": "en",
  • "service": {
    },
  • "companyLogo?": "string",
  • "address": {
    },
  • "customer": {
    },
  • "tool": {
    },
  • "report": {
    }
}

Response samples

Content type
application/json
Example

The ID was invalid.

{
  • "error": "Invalid ID"
}

Get report

Generate PDF report from a previous service event.

query Parameters
ulid
required
string
Example: ulid=01JDJ5VWM7P2VJY9Y6T9CS79J0

ULID identifier for the report

Responses

Response samples

Content type
application/json

The resource was not found.

{
  • "error": "Not Found"
}

Save rework data

Save data for the reworks.

Request Body schema: application/json
required
reworkId
required
string
timestamp
number
property name*
additional property
any

Responses

Request samples

Content type
application/json
{
  • "reworkId": "01JDJ5VWM7P2VJY9Y6T9CS79J0",
  • "timestamp": 1732550336
}

Response samples

Content type
application/json
"Success"

Get rework records

Retrieve rework records based on query parameters

query Parameters
reworkId
string
Example: reworkId=01JDJ5VWM7P2VJY9Y6T9CS79J0

Responses

Response samples

Content type
application/json
[
  • {
    }
]

Create impact wrench calibration

Save the calibration data for tools calibrated at PRC.

Request Body schema: application/json
required
mpbid
required
string
userId
string
modelNumber
string
serialNumber
string
calibrationDate
string
certifiedBy
string

Responses

Request samples

Content type
application/json
{
  • "mpbid": "01320008F8",
  • "userId": "bcbd01ae-cc21-444f-bb33-b4fa2f948b22",
  • "modelNumber": "48111850",
  • "serialNumber": "G29NDCBC 221104 6195992",
  • "calibrationDate": "2024-01-02 12:31:23Z",
  • "certifiedBy": "string"
}

Response samples

Content type
application/json
"Success"

/v1/tooldata/tag

Create tag.

This endpoint creates a new tag (used for tagging tool data). The request body must include the tag's "name", "type", and "queryLabel". If the tag's type is "object", the request body must also contain a "properties" array of defined objects. Each property object must contain "name", "type" (i.e., "string", "number", or "boolean"), "queryLabel", and "required" fields. If the tag's type is an "enum", the request body must also have a "properties" array which contains the possible values for the tag.

Authorizations:
x-api-key
Request Body schema: application/json
required
name
required
string

The name of the tag.

type
required
string
Enum: "string" "number" "boolean" "enum" "array" "object"

The type of tag.

inputMode
required
string
Enum: "user" "system"

Edit tag permissions.

description
required
string

The description of the tag.

queryLabel
required
string

The query label

Array of TagPropertiesDefinition (object) or (string or booleans or numbers)

The properties of the tag, which can be an array of objects or primitive values.

Responses

Request samples

Content type
application/json
Example

Example request for creating a tag.

{
  • "name": "ObjectTagExample",
  • "type": "object",
  • "description": "This is an example object tag.",
  • "inputMode": "user",
  • "queryLabel": "objectTagExampleQueryLabel",
  • "properties": [
    ]
}

Response samples

Content type
application/json
Example

Example response for creating a tag.

[
  • {
    }
]

/v1/tooldata/tag/{tagId}

Get tag by ID.

Get tag by ID.

Authorizations:
auth0-lambda
path Parameters
tagId
required
string (TagId) ^[0-9a-fA-F]{24}$
Example: 651b14ae2a1336f3184f0a46

Document (MongoDB) ID for a tag

Responses

Response samples

Content type
application/json
Example

Example response for creating a tag.

[
  • {
    }
]

Update tag by ID.

Update tag by ID.

Authorizations:
auth0-lambda
path Parameters
tagId
required
string (TagId) ^[0-9a-fA-F]{24}$
Example: 651b14ae2a1336f3184f0a46

Document (MongoDB) ID for a tag

Request Body schema: application/json
required
name
string

The name of the tag.

type
required
string
Enum: "string" "number" "boolean" "enum" "array" "object"

The type of tag.

inputMode
required
string
Enum: "user" "system"

Edit tag permissions.

description
string

The description of the tag.

queryLabel
required
string

The query label

required
Array of TagPropertiesDefinition (object) or (string or booleans or numbers)

The properties of the tag, which can be an array of objects or primitive values.

Responses

Request samples

Content type
application/json
Example

Example request for creating a tag.

{
  • "name": "ObjectTagExample",
  • "type": "object",
  • "description": "This is an example object tag.",
  • "inputMode": "user",
  • "queryLabel": "objectTagExampleQueryLabel",
  • "properties": [
    ]
}

Response samples

Content type
application/json
Example

Example response for creating a tag.

[
  • {
    }
]

/v1/tooldata/tags

Get all tags.

Get all tags.

Authorizations:
auth0-lambda

Responses

Response samples

Content type
application/json
[
  • {
    },
  • {
    },
  • {
    },
  • {
    }
]

Get tags by query.

Get tags based on specified query parameters.

Authorizations:
auth0-lambda
query Parameters
name
string

The name of the resource

type
string
Example: type=string

The type of the resource

limit
integer [ 1 .. 100 ]
Example: limit=10

The maximum number of results to return

orderBy
string
Enum: "name" "type" "createdAt" "updatedAt"

Field to order the results by

orderDirection
string
Enum: "ascending" "descending" "asc" "desc" "1" "-1"

Order direction of the results

Responses

Response samples

Content type
application/json
Example

Example response for creating a tag.

[
  • {
    }
]

/v1/tooldata/toolread/{toolreadId}

Get a toolread document by ID.

Authorizations:
auth0-lambda
path Parameters
toolreadId
required
string (ToolReadId) ^[0-9a-fA-F]{24}$
Example: 65565faad9419ffb44c51ac7

Document (MongoDB) ID for a tool read document

Responses

Response samples

Content type
application/json

Example response for tool read data.

[
  • {
    }
]

Update a toolread document by ID.

This endpoint updates a toolread document by it's ID. The request url must include the ID of the toolread document to be updated. The request body should only contain the data to be updated. Currently, the only attributes that can be updated are: "mpbid", "serialNumber", "productId", "batteryPackPcbaId", "memoryMapVersion", "sourceId", and "tags".

path Parameters
toolreadId
required
string (ToolReadId) ^[0-9a-fA-F]{24}$
Example: 65565faad9419ffb44c51ac7

Document (MongoDB) ID for a tool read document

Request Body schema: application/json
required
mpbid
string
serialNumber
string
productId
string
batteryPackPcbaId
string
memoryMapVersion
number
sourceId
number
object

Responses

Request samples

Content type
application/json
{
  • "mpbid": "FFFE000000",
  • "serialNumber": "J64AD195200734",
  • "productId": "0067",
  • "batteryPackPcbaId": "",
  • "memoryMapVersion": 51,
  • "sourceId": 18,
  • "tags": {
    }
}

Response samples

Content type
application/json

Example response for tool read data.

[
  • {
    }
]

/v1/tooldata/toolread/parse

Parse tool read data, with an option to persist the results to the database.

Authorizations:
auth0-authorizer
Request Body schema: application/json
required
persist
boolean
Default: false

Whether to persist the parsed data to the database.

mpbid
required
string = 10 characters
timestamp
required
number

The timestamp of the data being sent in milliseconds since epoch.

memoryMapVersion
required
number
sourceId
required
number

The source of the data being sent. See Source Types.

svCode
string

The service code of the data being sent.

serialNumber
string

The serial number of the tool.

object
object (KeyValuePair)
required
Array of objects (ToolReadDataObjectV2)

Responses

Request samples

Content type
application/json
Example

Example request for parsing tool read data.

{
  • "persist": true,
  • "mpbid": "FFFE000000",
  • "timestamp": 1616425200000,
  • "batteryPackPcbaId": "56",
  • "serialNumber": "1234567890",
  • "sourceId": 3,
  • "memoryMapVersion": 51,
  • "clientInfo": {
    },
  • "tags": {
    },
  • "data": [
    ]
}

Response samples

Content type
application/json
Example

Example response for tool read data.

[
  • {
    }
]

/v1/tooldata/toolread/reparse

Reparse multiple toolread documents.

Reparse ToolRead documents that match the request filters and start the reprocessing workflow.

At least one filter field must be provided, or set reparseAll to true to match all ToolRead documents. Empty filter values (for example { "ids": [] }) are not treated as filters.

When reparseAll is true, no filter criteria are applied. Optional sort, skip, and limit values still control which documents are selected.

Authorizations:
auth0-authorizer
Request Body schema: application/json
required
One of
ids
Array of arrays non-empty

An array of Tool Read Document IDs to reparse.

memoryMapVersion
number

The version of the memory map to use during reparsing.

mpbids
Array of arrays non-empty

An array of MPBIDs to use to find matching ToolRead Documents to reparse.

productIds
Array of arrays non-empty

An array of Product IDs to use to find matching ToolRead Documents to reparse.

serialNumbers
Array of arrays non-empty

An array of Serial Numbers to use to find matching ToolRead Documents to reparse.

parseStatus
string
Enum: "PARSED" "NOT_PARSED" "IN_PROCESS" "ERROR"

Reparse ToolRead Documents by parse status.

parseErrors
object non-empty

Reparse ToolRead Documents by specific parse error code(s).

tags
object non-empty

Reparse ToolRead Documents by specific tags.

object

An object containing a start and end date to use to find matching ToolRead Documents to reparse.

sort
string
Enum: "_id" "-_id" "created" "-created" "createdAt" "-createdAt" "updatedAt" "-updatedAt"

Sort field for matching documents. Prefix with - for descending order.

skip
integer >= 0

Number of matching documents to skip before selecting results.

limit
integer >= 0

Maximum number of matching documents to reprocess. A value of 0 means no limit.

reparseAll
required
boolean
Value: true

Optional when filters are provided. Set to true only when no filters are supplied.

Responses

Request samples

Content type
application/json
Example

Example request for reparsing tool read data.

{
  • "ids": [
    ]
}

Response samples

Content type
application/json

Example response for reparsing multiple tool reads.

{
  • "reprocessingToolReadsTotalCount": 42
}

/v1/tooldata/toolreads/query

Get toolreads by query

Get toolreads based on specified query parameters

Authorizations:
auth0-lambda
query Parameters
mpbid
string
Example: mpbid=006700ec12

Filter documents by mpbid field

serialNumber
string
Example: serialNumber=J64AD195200734

Filter documents by serialNumber field

productId
string
Example: productId=0067

Filter documents by productId field

batteryPackPcbaId
string

Filter documents by batteryPackPcbaId field

parseStatus
string
Enum: "PARSED" "NOT_PARSED" "IN_PROCESS" "ERROR"
Example: parseStatus=PARSED

Filter documents by parseStatus field

memoryMapVersion
number
Example: memoryMapVersion=3

Filter documents by memoryMapVersion field

sourceId
number
Example: sourceId=18

Filter documents by sourceId field

platformtag
string
Enum: "M12" "M18" "MX" "ONEKEY" "Other"
Example: platformtag=M18

Filter documents by tags.PLATFORM field

customernametag
string
Example: customernametag=dataplatform@milwaukeetool.com
tagQueryLabelName
string
Example: tagQueryLabelName=tagValue

This is the name of the tag's queryLabel. Use the Tag's queryLabel when filtering by a tag.

updatedAt
string <date-time (ISO 8601 format)>
Example: updatedAt=2023-11-30T14:52:07.855Z

Filter documents by updatedAt field

createdAt
string <date-time (ISO 8601 format)>
Example: createdAt=2023-11-30T14:52:03.143Z

Filter documents by createdAt field

updatedAtStart
string <date-time (ISO 8601 format)>
Example: updatedAtStart=2023-11-30T14:52:07.855Z

Filter documents by updatedAt Date Range (Start Date)

updatedAtEnd
string <date-time (ISO 8601 format)>
Example: updatedAtEnd=2023-11-30T16:52:03.143Z

Filter documents by updatedAt Date Range (End Date)

createdAtStart
string <date-time (ISO 8601 format)>
Example: createdAtStart=2023-11-30T14:52:07.855Z

Filter documents by createdAt Date Range (Start Date)

createdAtEnd
string <date-time (ISO 8601 format)>
Example: createdAtEnd=2023-11-30T15:52:03.143Z

Filter documents by createdAt Date Range (End Date)

limit
integer [ 1 .. 100 ]
Example: limit=100

The maximum number of results to return

sort
string
Example: sort=-createdAt

Field to sort the results by (Use a leading "-" for "desc")

skip
integer >= 0
Example: skip=5

The number of results to skip

Responses

Response samples

Content type
application/json

Example response for tool read data.

{
  • "data": [
    ],
  • "totalCount": 1
}

/v1/tooldata/tool-electronics-state

/v1/tooldata/tool-electronics-state

Authorizations:
auth0-lambda

Responses

/v1/tooldata/tool-electronics-state

Authorizations:
auth0-lambda

Responses

/v1/tooldata/tool-electronics-state

Authorizations:
auth0-lambda

Responses

/v2/buffered/create

/v2/buffered/create

Authorizations:
x-api-key
Request Body schema: application/json
mpbid
required
string = 10 characters
memoryMapVersion
required
string
cycleId
string
memoryPointer
string

Responses

Request samples

Content type
application/json
{
  • "sequenceId": 1231231234,
  • "mpbid": 1000000,
  • "memoryMapVersion": 1,
  • "cycleId": 1231231234,
  • "memoryPointer": 1
}

Response samples

Content type
application/json
{
  • "mpbid": "0001000000",
  • "sequenceId": 1,
  • "lastSequentialReadApplication": 0,
  • "lastRealtimeReadApplication": 0
}

UnitReplacement

Record the replacement of a unit

Create a record to indicate that one unit has been replaced by another

Authorizations:
auth0-authorizer
Request Body schema: application/json
required

Request body for unit replacement

oldSerialNumber
string
newSerialNumber
string
svCode
string
createdBy
string

Responses

Request samples

Content type
application/json
{
  • "oldSerialNumber": "XYZ789",
  • "newSerialNumber": "ABC123",
  • "svCode": "SV123",
  • "createdBy": "jim.bob@milwaukeetool.com"
}

Response samples

Content type
application/json
{
  • "oldSerialNumber": "XYZ789",
  • "newSerialNumber": "ABC123",
  • "svCode": "SV123",
  • "createdAt": "2023-09-19T15:01:58.365Z",
  • "createdBy": "jim.bob@milwaukeetool.com",
  • "uuid": "12345678-1234-1234-1234-123456789012"
}

Get unit replacement record

Retrieve unit replacement record objects.

Authorizations:
auth0-authorizer
query Parameters
oldSerialNumber
string

Only return objects that match with this old serial number

newSerialNumber
string

Only return objects that match with this new serial number

page
number

Which page of data to return (default: 1)

pageSize
number

How many records to return on each page (default: 10)

Responses

Response samples

Content type
application/json
{
  • "data": [
    ],
  • "currentPage": 1,
  • "totalPages": 1
}

Get unit replacement history for a single unit

Retrieve the unit replacement history for a specific serial number. For retrieving the entire chain of replacement events where a particular {sn} was involved

Authorizations:
auth0-authorizer
query Parameters
serialNumber
required
string

Serial number of the unit for which history is to be retrieved

Responses

Response samples

Content type
application/json
[
  • {
    },
  • {
    }
]