Stable
Equipment Tracking API
Real-time GPS tracking and utilization monitoring for construction equipment and assets.
Real-time GPS Geofencing Utilization analytics Maintenance alerts
Authentication
All API requests require authentication using your API key. Include it in the Authorization header:
Authorization: Bearer your_api_key_here Base URL
All endpoints are relative to the following base URL:
https://api.fitechco.com/api/v1/equipment List Assets
GET
/assets Retrieve all tracked equipment and assets with current status.
Parameters
| Name | Type | Description |
|---|---|---|
| project_id | string | Filter by project |
| status | string | Filter by status: active, idle, maintenance |
| type | string | Equipment type filter |
Response
200 List of assets
{
"data": [
{
"id": "ast_crane01",
"name": "Tower Crane #1",
"type": "crane",
"status": "active",
"location": {
"latitude": 24.7136,
"longitude": 46.6753
},
"last_update": "2024-03-15T10:45:00Z",
"utilization_today": 78.5,
"zone": "Zone A - Foundation"
}
]
} Get Asset Location
GET
/assets/{asset_id}/location Get real-time GPS location and movement history for a specific asset.
Parameters
| Name | Type | Description |
|---|---|---|
| asset_id required | string | Asset identifier |
| history | boolean | Include location history |
| hours | integer | Hours of history (max 72) |
Response
200 Asset location data
{
"asset_id": "ast_crane01",
"current": {
"latitude": 24.7136,
"longitude": 46.6753,
"accuracy_meters": 2,
"timestamp": "2024-03-15T10:45:00Z",
"speed_kmh": 0,
"heading": 45
},
"zone": {
"id": "zone_a",
"name": "Zone A - Foundation"
},
"history": [
{
"latitude": 24.7135,
"longitude": 46.6752,
"timestamp": "2024-03-15T09:00:00Z"
}
]
} Create Geofence
POST
/geofences Create a virtual boundary to monitor equipment entry/exit events.
Parameters
| Name | Type | Description |
|---|---|---|
| name required | string | Geofence name |
| project_id required | string | Project identifier |
| polygon required | array | Array of [lat, lng] coordinates |
| alert_on | array | Trigger events: enter, exit, both |
Response
201 Geofence created
{
"id": "geo_xyz789",
"name": "Restricted Area",
"status": "active",
"area_sqm": 5000
} Error Handling
The API uses standard HTTP status codes to indicate success or failure:
200 Request succeeded 201 Resource created 400 Bad request - invalid parameters 401 Unauthorized - invalid or missing API key 403 Forbidden - insufficient permissions 404 Resource not found 429 Rate limit exceeded 500 Internal server error Rate Limits
API requests are rate limited to ensure fair usage:
Standard
1,000 requests/min
Enterprise
10,000 requests/min
Rate limit information is included in response headers:
X-RateLimit-Limit: 1000
X-RateLimit-Remaining: 999
X-RateLimit-Reset: 1609459200 Try It Now