Stratis Public API

Scenes, objects, and aerial reality data as a developer product.

Stratis is not just an app backend. It is a paid spatial-data platform with public discovery surfaces, signed-in user onboarding, and API-key machine workflows that consume Ecko when they use processing capacity or create premium dataset exports.

Free

Public

Discovery endpoints are open for browsing captures, map coverage, listings, and share links.

Account Setup

Signed-In User

Any signed-in Stratis user can create, list, and revoke API keys using a Firebase bearer token.

Paid

API Key Runtime

Machine calls use `x-api-key`. Paid operations require enough available Ecko and deduct or hold value during use.

Current Product Lanes

What third parties can actually do with Stratis now

The current public v1 is intentionally split between what is already live and what is still roadmap. These are the strongest live lanes today.

Paid Machine Lane

Scenes

Upload walkthrough or street-level video, commit a job, and retrieve processed outputs, viewer links, and quality metrics.

  • Managed scene processing
  • Signed upload and result URLs
  • Viewer and metric retrieval
Machine + Retrieval Lane

Objects

Search object captures and pull isolated outputs that already exist in Stratis, including splats, OBJ meshes, labels, and object metadata.

  • Dedicated object search
  • Object splat retrieval
  • OBJ and labeling outputs
  • Useful for robotics, simulation, and catalog pipelines
Machine + Discovery Lane

Aerial

Search drone captures, inspect aerial outputs, and still use public map discovery for site-scale coverage and claims.

  • Dedicated aerial search
  • Aerial detail retrieval
  • Aerial map-layer queries
  • Claim and listing visibility
Billing Model

API access is open to signed-in users. API usage still has to pay.

The current policy is simple: any signed-in Stratis user can mint keys, but paid machine calls must have enough available Ecko to proceed. Public browsing remains free, and some API-key retrieval endpoints are currently non-charged.

Denominations
1 Ecko = 1,000 Pulse = 1,000,000 Voxel

Human-facing docs should talk in Ecko and Pulse. Raw Voxel precision only matters for lower-level token accounting.

Current Live Rules
  • Public discovery endpoints are currently free.
  • `POST /apiSearchClaims` deducts `1 Ecko` per request.
  • `POST /apiCreateJob` checks that the caller can afford processing before it issues an upload URL.
  • `POST /apiCommitJob` places the current `1 Ecko` processing hold.
  • `POST /apiCreateDatasetExport` deducts the quoted export amount for premium data bundles.
  • Some API-key retrieval endpoints, including object and aerial inventory reads, are currently non-charged.
  • `GET /apiGetBalance` and `GET /apiGetUsage` expose current billing state without adding a new charge.
  • Available balance is effectively `eckoBalance - eckoHeld`.
Start Here

The shortest path to a working integration

  1. 1Sign in and create a key from Settings.
  2. 2Use public discovery endpoints for broad browsing and map coverage.
  3. 3Use API-key retrieval endpoints if you want a cleaner object or aerial integration contract.
  4. 4Use dataset manifest and export endpoints when you want reusable bundles instead of one asset at a time.
  5. 5Use API-key machine endpoints if you want Stratis to process new scenes.
  6. 6Keep the reference open for exact schemas, examples, and error responses.
Example Flow
# 1. Create a key with a signed-in user token
POST /createApiKey
Authorization: Bearer <firebase-id-token>

# 2. Search nearby claims with a Stratis API key
POST /apiSearchClaims
x-api-key: <your-api-key>

# 3. Create a paid processing job
POST /apiCreateJob
x-api-key: <your-api-key>

# 4. Upload a video to the signed upload URL
PUT <signed-upload-url>

# 5. Commit the job for processing
POST /apiCommitJob
x-api-key: <your-api-key>

# 6. Poll for result URLs and viewer link
GET /apiGetJob?jobId=<job-id>