Authentication

Authenticate requests by including your API key in the Authorization header:

Authorization: Bearer YOUR_API_KEY

API keys can be created and managed in your dashboard settings.

Errors

Canoptics uses standard HTTP response codes. Errors return JSON with a message and error code:

{ "error": { "code": "invalid_api_key", "message": "The API key provided is invalid or expired." } }

Pagination

List endpoints support cursor-based pagination:

GET /v1/risks?limit=50&cursor=abc123

Risks

GET /v1/risks

List all risk assessments with optional filtering.

Query Parameters

Name Type Description
region string Filter by region ID
min_score number Minimum risk score (0.0-1.0)
limit integer Number of results (default: 50, max: 200)

Response

{ "data": [ { "id": "risk_abc123", "span_id": "span_xyz789", "risk_score": 0.87, "clearance_m": 1.2, "growth_rate_m_yr": 2.4, "species": ["oak", "pine"], "updated_at": "2026-02-22T10:00:00Z" } ], "has_more": true, "cursor": "next_page_cursor" }
GET /v1/risks/{risk_id}

Retrieve a specific risk assessment by ID.

Spans

GET /v1/spans

List all spans in your network.

Query Parameters

Name Type Description
corridor_id string Filter by corridor
include_geometry boolean Include GeoJSON geometry
POST /v1/spans/import

Bulk import span data from GIS formats.

Work Orders

GET /v1/work-orders

List generated work orders.

POST /v1/work-orders/generate

Generate new work orders based on current risk scores.

Request Body

{ "region_id": "region_abc", "min_risk_score": 0.7, "group_by": "area", "max_orders": 100 }

Regions

GET /v1/regions

List all regions in your organization.

Need help with integration?

Our engineering team can help you get set up.

Contact Support