Base URL: https://api.colpero.com
All endpoints except /health require an API key passed via the X-API-Key header.
curl -H "X-API-Key: your-api-key" \ https://api.colpero.com/api/v1/domains/nearby?lat=37.77&lng=-122.41&radius_m=5000
In development mode, set API_KEYS=dev-key in your environment. The server accepts any key listed in the comma-separated API_KEYS env var.
Default limit: 100 requests per minute per API key. Exceeding the limit returns 429 Too Many Requests with a Retry-After header.
Configure via the RATE_LIMIT_RPM environment variable.
Some endpoints require payment. The flow uses the x402 protocol:
402 Payment Required with pricing metadata in the response body.X-Payment-Receipt header containing the signed receipt.POST /api/v1/domains/1/path
X-API-Key: your-api-key
X-Payment-Receipt: <signed-usdc-receipt>
{"start_lat": 37.77, "start_lng": -122.42, "end_lat": 37.78, "end_lng": -122.41}
ā {"waypoints": [...], "distance_m": 142.5}No tokens, no accounts, no onboarding. Stateless HTTP-native payments. Protocol by Coinbase.
/healthHealth check. Returns 200 if the node is running.
/api/v1/domains/Create a new spatial domain with coordinates, mesh, and model references.
{
"name": "SF Financial District",
"description": "Dense urban block",
"lat": 37.7749,
"lng": -122.4194
}{
"id": 1,
"name": "SF Financial District",
"lat": 37.7749,
"lng": -122.4194,
"created_at": "2026-04-08T00:00:00Z"
}/api/v1/domains/nearbyFind spatial domains within a radius of a coordinate.
?lat=37.77&lng=-122.41&radius_m=5000
[
{
"id": 1,
"name": "SF Financial District",
"lat": 37.7749,
"lng": -122.4194,
"distance_m": 320.5
}
]/api/v1/domains/{id}Get full domain details including mesh and model paths.
/api/v1/domains/{id}/pathCompute a navigable path between two coordinates within a domain.
{
"start_lat": 37.77,
"start_lng": -122.42,
"end_lat": 37.78,
"end_lng": -122.41
}{
"waypoints": [[37.77, -122.42], [37.775, -122.415], [37.78, -122.41]],
"distance_m": 142.5
}/api/v1/domains/{id}/partitionsList spatial partitions (semantic regions) within a domain.
/api/v1/providers/Register a new spatial provider with capabilities and endpoint.
{
"name": "ScanBot-SF",
"endpoint_url": "https://scanbot.example.com",
"provider_type": "reconstruction",
"capabilities": {"colmap": true, "gaussian_splatting": true}
}{
"token_id": 1,
"name": "ScanBot-SF",
"endpoint_url": "https://scanbot.example.com",
"provider_type": "reconstruction",
"capabilities": ["colmap", "gaussian_splatting"]
}/api/v1/providers/List all registered spatial providers.
/api/v1/providers/{id}/requestRoute a spatial data request to a specific provider.
/api/v1/providers/{id}/reputationUpdate a provider's reputation score after a transaction.
import { ColperoClient } from "colpero-sdk";
const client = new ColperoClient({
baseUrl: "https://api.colpero.com",
apiKey: "your-api-key",
});
// Find nearby domains
const domains = await client.domains.nearby(37.77, -122.41, 5000);
// Compute a path (payment handled by SDK)
const path = await client.domains.computePath(1, {
start: [37.77, -122.42],
end: [37.78, -122.41],
});
console.log(path.waypoints, path.distance_m);