Endpoints
GET Get Entity
GET https://papi.printtrackerpro.com/v1/entity/:entityID
Returns an entity object for the provided entity ID.
Path Parameters
entityIDstring- The ID of the entity
Headers
x-api-key- Your Print Tracker API key
Query Parameters
includeChildrenbooleanoptional - Whether the resulting entity should contain an array of children entity names and IDs at every hierarchical level under Print Tracker. This is useful for traversing entity hierarchy.
$ curl --request GET 'https://papi.printtrackerpro.com/v1/entity/<ENTITY-ID-HERE>?includeChildren=true' --header 'x-api-key: <API-KEY-HERE>'
GET Get Devices by Entity
GET https://papi.printtrackerpro.com/v1/entity/:entityID/device
Returns an array of devices that belong to the specified entity and (optionally) its children.
Path Parameters
entityIDstring- The ID of the entity
Headers
x-api-key- Your Print Tracker API key
Query Parameters
includeChildrenbooleanoptional - Defaults to false, determines whether we should return devices at the providedentityIDand all children entities or just the providedentityID.limitnumberoptional - Defaults to 100, determines the maximum number of devices in the response array.pagenumberoptional - Defaults to 1, determines the paginator's current page for the request.excludeDisabledbool- If enabled, only devices whose tracking status is 'Enabled' will be included in the final result.
$ curl --request GET 'https://papi.printtrackerpro.com/v1/entity/<ENTITY-ID-HERE>/device?limit=100&page=1&includeChildren=true' --header 'x-api-key: <API-KEY-HERE>'
An array of Device objects
GET Get Meters by Entity
GET https://papi.printtrackerpro.com/v1/entity/:entityID/meter
Returns an array of meter reads for the specified entity.
Path Parameters
entityIDstring- The ID of the entity
Headers
x-api-key- Your Print Tracker API key
Query Parameters
startdate- The start of the meter read date range formatted as RFC3339, ISO8601 (without timezone), RFC1123Z, RFC1123, RFC1123, RFC822Z, RFC822, RFC8250, ANSIC, or Unix.enddate- The end of the meter read date range formatted as RFC3339, ISO8601 (without timezone), RFC1123Z, RFC1123, RFC1123, RFC822Z, RFC822, RFC8250, ANSIC, or Unix.excludeDisabledbool- If enabled, only meters from devices whose tracking status is 'Enabled' will be included in the final result.
$ curl --location --request GET 'https://papi.printtrackerpro.com/v1/entity/<ENTITY-ID-HERE>/meter?start=2020-12-18T17:52:52.417Z&end=2021-01-25T17:52:52.417Z' --header 'x-api-key: <API-KEY-HERE>'
An array of Meter Read objects
GET Get Current Meters by Entity
GET https://papi.printtrackerpro.com/v1/entity/:entityID/currentMeter
Returns an array of current meter reads for all devices at the specified entity. If includeChildren is enabled and provided in the query string, this endpoint will return the current meter reads for all devices at the provided entity and any children of the provided entity. This endpoint is paginated, and the caller should pass a page and limit to paginate all the results from the endpoint.
Path Parameters
entityIDstring- The ID of the entity
Headers
x-api-key- Your Print Tracker API key
Query Parameters
includeChildrenbool- Whether the response should include current meters from devices at children of this entity.excludeDisabledbool- If enabled, only meters from devices whose tracking status is 'Enabled' will be included in the final result.pageint- The pagination page that you want to return data for.limitint- The number of results in the pagination page. If the number of results is less than the limit, then you know you've retrieved all available meter reads.
$ curl --location --request GET 'papi.printtrackerpro.com/v1/entity/<ENTITY-ID-HERE>/currentMeter?includeChildren=true&page=1&limit=100' --header 'x-api-key: <API-KEY-HERE>'
An array of Meter Read objects
GET Get Meters by Device
GET https://papi.printtrackerpro.com/v1/entity/:entityID/device/:deviceID/meter
Returns an array of meter reads for the specified device.
Path Parameters
entityIDstring- The ID of the entitydeviceIDstring- The ID of the device
Headers
x-api-key- Your Print Tracker API key
Query Parameters
startdate- The start of the meter read date range formatted as RFC3339, ISO8601 (without timezone), RFC1123Z, RFC1123, RFC1123, RFC822Z, RFC822, RFC8250, ANSIC, or Unix.enddate- The end of the meter read date range formatted as RFC3339, ISO8601 (without timezone), RFC1123Z, RFC1123, RFC1123, RFC822Z, RFC822, RFC8250, ANSIC, or Unix.
$ curl --location --request GET 'https://papi.printtrackerpro.com/v1/entity/<ENTITY-ID-HERE>/device/<DEVICE-ID-HERE>/meter?start=2021-01-08T17:52:52.417Z&end=2021-01-25T17:52:52.417Z' --header 'x-api-key: <API-KEY-HERE>'
An array of Meter Read objects
GET Get Meter Immediately Prior to Date
GET https://papi.printtrackerpro.com/v1/entity/:entityID/device/:deviceID/meter/mostRecentPriorTo
Returns the meter read for a device that is closest to, but not after the provided date query parameter.
Path Parameters
entityIDstring- The ID of the entitydeviceIDstring- The ID of the device
Headers
x-api-key- Your Print Tracker API key
Query Parameters
datedate- The meter read returned will be the most recent meter read that occurred before this date, formatted as RFC3339, ISO8601 (without timezone), RFC1123Z, RFC1123, RFC1123, RFC822Z, RFC822, RFC8250, ANSIC, or Unix.
$ curl --location --request GET 'https://papi.printtrackerpro.com/v1/entity/<ENTITY-ID-HERE>/device/<DEVICE-ID-HERE>/meter/mostRecentPriorTo?date=2021-07-01T17:52:52.417Z' --header 'x-api-key: <API-KEY-HERE>'
A single Meter Read object
POST Create a new entity
POST https://papi.printtrackerpro.com/v1/entity/:entityID
Creates a new entity underneath an existing entity. The entity key in the path parameters should be the parent entity of the new entity. For example, assuming you have the following hierarchy:
Foo
Bar
New Entity
Then you would provide the entity key of "Bar" in the path parameter to create "New Entity" underneath "Bar".
Path Parameters
entityIDstring- The ID of the parent entity
Headers
x-api-key- Your Print Tracker API key
Body
{
"name": "New entity"
}
$ curl --location --request POST 'https://papi.printtrackerpro.com/v1/entity/<ENTITY ID HERE>' \
--header 'x-api-key: <API-KEY-HERE>' \
--header 'Content-Type: application/json' \
--data-raw '{
"name": "New entity"
}'
PUT Update an existing entity
PUT https://papi.printtrackerpro.com/v1/entity/:entityID
Updates an existing entity.
Path Parameters
entityIDstring- The ID of the parent entity
Headers
x-api-key- Your Print Tracker API key
Body
{
"name": "Updated entity name"
}
$ curl --location --request PUT 'https://papi.printtrackerpro.com/v1/entity/<ENTITY ID HERE>' \
--header 'x-api-key: <API-KEY-HERE>' \
--header 'Content-Type: application/json' \
--data-raw '{
"name": "Updated entity name"
}'