Stable

3D Site Mapping API

Transform aerial imagery into precise 3D models, orthomosaics, and point clouds with centimeter-level accuracy.

Point clouds Orthomosaics DEMs/DSMs CAD export

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

List 3D Models

GET /models

Retrieve all 3D models and orthomosaics for a project.

Parameters

Name Type Description
project_id required string Project identifier
type string Filter by type: point_cloud, mesh, orthomosaic

Response

200 List of 3D models
{
  "data": [
    {
      "id": "mdl_abc123",
      "type": "mesh",
      "name": "Site Overview March 2024",
      "created_at": "2024-03-10T14:20:00Z",
      "resolution": "2cm/pixel",
      "file_size_mb": 1250,
      "download_url": "https://cdn.fitechco.com/...",
      "viewer_url": "https://viewer.fitechco.com/..."
    }
  ]
}

Create Processing Job

POST /jobs

Submit aerial imagery for 3D reconstruction. Supports point clouds, meshes, and orthomosaics.

Parameters

Name Type Description
project_id required string Project identifier
images required array Array of georeferenced image URLs
output_types required array Desired outputs
coordinate_system string Output CRS

Response

201 Processing job created
{
  "id": "job_xyz789",
  "status": "queued",
  "estimated_completion": "2024-03-15T16:00:00Z",
  "images_count": 520
}

Get Measurements

GET /models/{model_id}/measurements

Retrieve area, volume, and distance measurements from a 3D model.

Parameters

Name Type Description
model_id required string Model identifier

Response

200 Model measurements
{
  "model_id": "mdl_abc123",
  "measurements": {
    "total_area_sqm": 45000,
    "building_footprint_sqm": 12500,
    "excavation_volume_m3": 8500,
    "perimeter_m": 850
  },
  "accuracy": {
    "horizontal": "2cm",
    "vertical": "5cm"
  }
}

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 3D Models
import fi_sdk

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

# List all 3D models for a project
models = client.mapping.models.list(
    project_id="proj_abc123",
    type="mesh"
)

for model in models.data:
    print(f"Model: {model.name}")
    print(f"Resolution: {model.resolution}")
    print(f"Download: {model.download_url}")
Try It Now
export const prerender = true;