Progress Tracking API
Automated construction progress monitoring powered by AI. Track project milestones, compare against schedules, and generate detailed reports.
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/progress List Progress Reports
/reports Retrieve all progress reports for a specific project. Supports filtering by date range and pagination.
Parameters
| Name | Type | Description |
|---|---|---|
| project_id required | string | Unique project identifier |
| from_date | string | Start date (ISO 8601) |
| to_date | string | End date (ISO 8601) |
| limit | integer | Results per page (max 100) |
| offset | integer | Pagination offset |
Response
{
"data": [
{
"id": "rpt_xyz789",
"project_id": "proj_abc123",
"capture_date": "2024-03-15T10:30:00Z",
"progress_percentage": 67.5,
"status": "on_schedule",
"comparison": {
"planned": 65,
"actual": 67.5,
"variance": 2.5
},
"zones_completed": 12,
"total_zones": 18
}
],
"pagination": {
"page": 1,
"limit": 20,
"total": 45,
"has_more": true
}
} {
"error": {
"code": "unauthorized",
"message": "Invalid API key"
}
} Get Progress Report
/reports/{report_id} Retrieve detailed information about a specific progress report including zone breakdowns.
Parameters
| Name | Type | Description |
|---|---|---|
| report_id required | string | Report identifier |
Response
{
"id": "rpt_xyz789",
"project_id": "proj_abc123",
"capture_date": "2024-03-15T10:30:00Z",
"progress_percentage": 67.5,
"status": "on_schedule",
"zones": [
{
"name": "Foundation",
"progress": 100,
"status": "complete"
},
{
"name": "Structure Level 1",
"progress": 85,
"status": "in_progress"
},
{
"name": "Structure Level 2",
"progress": 45,
"status": "in_progress"
}
],
"images": {
"orthomosaic_url": "https://cdn.fitechco.com/...",
"model_3d_url": "https://cdn.fitechco.com/..."
}
} Create Progress Capture
/captures Upload drone imagery for AI-powered progress analysis. Returns a capture ID for status polling.
Parameters
| Name | Type | Description |
|---|---|---|
| project_id required | string | Project to analyze |
| capture_type required | string | Source type: drone, cctv, or manual |
| images required | array | Array of image URLs |
| flight_metadata | object | Drone flight details |
Response
{
"id": "cap_def456",
"status": "processing",
"estimated_completion": "2024-03-15T11:00:00Z",
"images_count": 245
} 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:
Rate limit information is included in response headers:
X-RateLimit-Limit: 1000
X-RateLimit-Remaining: 999
X-RateLimit-Reset: 1609459200