---
title: "Enroll an asset for tracking."
method: POST
path: "/api/v4/assets/tracking"
tags: ["Asset Tracking"]
---

# Enroll an asset for tracking.

`POST /api/v4/assets/tracking`

## Request

- Base URL: `https://na12.api.project44.com`
- URL: `https://na12.api.project44.com/api/v4/assets/tracking`
- Auth: OAuth 2
  - Client credentials
  - Token URL: `/api/v4/oauth2/token`
- TypeScript: <https://skmtc.dev/project44/apis/project44-rest-api/docs/api/v4/assets/tracking/post.ts> (a function with typed inputs; its response is checked against the schema)

The Asset Tracking API offers users a way to enroll an asset for tracking, and conversely, to unenroll an asset from tracking. Prior to enrolling an asset, users must have an endpoint configured to receive the asset location data. 

Information about the location of the asset will be pushed to the enrollee until the asset is un-enrolled from tracking. The payload can be JSON or XML, e.g., <pre>{ 
&nbsp;&nbsp;"webhookName": "KBX001", 
&nbsp;&nbsp;"equipmentIdentifier": {"type": "RAIL_CAR_ID", "value": "ABCD1234567"}, 
&nbsp;&nbsp;"expirationDateTime": "2019-05-01T00:00:00-05:00" 
} 
</pre> OR <pre>&lt;AssetTrackingSubscription&gt; 
&nbsp;&nbsp;&lt;webhookName&gt;KBX001&lt;/webhookName&gt; 
&nbsp;&nbsp;&lt;equipmentIdentifier&gt; 
&nbsp;&nbsp;&nbsp;&nbsp;&lt;type&gt;RAIL_CAR_ID&lt;/type&gt; 
&nbsp;&nbsp;&nbsp;&nbsp;&lt;value&gt;ABCD1234567&lt;/value&gt; 
&nbsp;&nbsp;&lt;/equipmentIdentifier&gt; 
&nbsp;&nbsp;&lt;expirationDateTime&gt;2019-05-01T00:00:00-05:00&lt;/expirationDateTime&gt; 
&lt;/AssetTrackingSubscription&gt; 
</pre>  <br/> <p>The call will return with an HTTP 200 status if enrollment is successful. Otherwise, it will return an appropriate HTTP error status code and error message.</p> <br/> <b>Required Fields</b> 
<ul> <li>equipmentIdentifier: The type of asset (either CONTAINER_ID, RAIL_CAR_ID, or TRAILER_ID) and unique identifier, e.g., BNSF654321.</li> <li>webhookName: The id of the previously registered webhook. This indicates where to send the asset tracking information..</li> </ul> <b>Optional Field</b> 
<ul> <li>expirationDateTime: Optional parameter to indicate when to stop tracking the asset. If not provided, expiration will default to six months from the enrollment date. The format is a date-time string with an offset from UTC/Greenwich in the ISO-8601 calendar system, such as 2020-05-01T00:00:00-05:00.</li> </ul>

## Request body

- AssetTrackingSubscription
  - `equipmentIdentifier` EquipmentIdentifier
    - `type` 'CONTAINER_ID' | 'RAIL_CAR_ID' | 'TRAILER_ID': The equipment type of the tracked asset.
    - `value` string: The equipment initials and number of the tracked asset, e.g., BNSF654321.
  - `expirationDateTime` string: Optional time to stop tracking as asset. This is a date-time with an offset from UTC/Greenwich in the ISO-8601 calendar system, such as 2019-12-03T10:15:30+01:00. If not provided, it will be set to six months from the enrollment time.
  - `id` string, uuid
  - `webhookName` string: The name of the previously registered webhook. This indicates where to send the asset tracking information.

## Response `200`

OK

## Other responses

- `400`: Invalid request
- `401`: Invalid or missing credentials
- `403`: User not authorized to perform this operation

---

[API](https://skmtc.dev/project44/apis/project44-rest-api.md) - [All operations](https://skmtc.dev/project44/apis/project44-rest-api/llms.txt) - [OpenAPI document](https://skmtc.dev/project44/apis/project44-rest-api/revisions/cdf9675e2294?raw)
