Stable

Progress Tracking API

Automated construction progress monitoring powered by AI. Track project milestones, compare against schedules, and generate detailed reports.

AI-powered analysis Drone integration BIM overlay Automated 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

GET /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

200 List of progress reports
{
  "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
  }
}
401 Unauthorized
{
  "error": {
    "code": "unauthorized",
    "message": "Invalid API key"
  }
}

Get Progress Report

GET /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

200 Progress report details
{
  "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

POST /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

201 Capture created
{
  "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:

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
List Progress Reports
import fi_sdk

client = fi_sdk.Client(api_key="your_api_key")

# List progress reports for a project
reports = client.progress.reports.list(
    project_id="proj_abc123",
    from_date="2024-01-01",
    limit=20
)

for report in reports.data:
    print(f"Date: {report.capture_date}")
    print(f"Progress: {report.progress_percentage}%")
    print(f"Status: {report.status}")
Try It Now
export const prerender = true;