Beta

BIM Comparison API

Compare design models against as-built conditions to detect deviations and track changes.

Design vs reality Deviation detection Change tracking IFC support

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

Create BIM Comparison

POST /comparisons

Compare as-built 3D scan against BIM design model to detect deviations.

Parameters

Name Type Description
project_id required string Project identifier
bim_model_id required string BIM design model ID
scan_model_id required string As-built scan model ID
tolerance_cm number Deviation tolerance in cm

Response

201 Comparison job created
{
  "id": "cmp_xyz789",
  "status": "processing",
  "estimated_completion": "2024-03-15T12:00:00Z"
}

Get Comparison Results

GET /comparisons/{comparison_id}

Retrieve deviation analysis results from a BIM comparison.

Parameters

Name Type Description
comparison_id required string Comparison job ID

Response

200 Comparison results
{
  "id": "cmp_xyz789",
  "status": "completed",
  "summary": {
    "total_points_analyzed": 2500000,
    "points_within_tolerance": 2375000,
    "compliance_rate": 95,
    "max_deviation_cm": 12.5,
    "avg_deviation_cm": 2.3
  },
  "deviations": [
    {
      "element": "Column A-5",
      "type": "position",
      "deviation_cm": 8.5,
      "direction": "north",
      "severity": "warning"
    }
  ],
  "viewer_url": "https://viewer.fitechco.com/comparison/..."
}

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
Create BIM Comparison
import fi_sdk

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

# Create BIM vs as-built comparison
comparison = client.bim.comparisons.create(
    project_id="proj_abc123",
    bim_model_id="bim_design01",
    scan_model_id="mdl_scan01",
    tolerance_cm=5
)

print(f"Comparison ID: {comparison.id}")
print(f"Status: {comparison.status}")
print(f"ETA: {comparison.estimated_completion}")
Try It Now
export const prerender = true;