Developers & partners — Build on WaiMAP
Build on WaiMAP: Spatial APIs, Engineering Engines, Observation Services and Reports & Workflows — each marked Live or Planned; the MCP API (Business and above), wm-Digamma extensions (Team and above), the public Site Check, report verification lookup and layer catalogue, with sample requests and responses.
- On your computerIFC (up to about 200 MB), GeoTIFF / COG previews and point values, DXF drawings and many imports are read in your browser — the file never leaves your computer.
- On WaiMAP's calculation serverA temporary processing copy exists only while the job runs. It is deleted when the job ends (success or failure) or when you have downloaded the result — within minutes, 2 hours at most. Processed rasters come back to you as downloads.
- From your own server (URL)Give an https link (presigned S3 / R2 / Azure / GCS, WebDAV or plain https): WaiMAP reads the file from there — rasters by range requests, nothing kept. The link is not stored unless you ask WaiMAP to remember it in your project.
- What WaiMAP keepsYour project records: parameters, results and metadata (for example a patch's bounds, coordinate system, source, licence and checksum) — small data that belongs to your account.
- What WaiMAP does not keepYour source files. There is no file storage and no storage quota.
Build on WaiMAP
Four service families. Each item is marked Live (works today) or Planned (not available yet) — checked against the code.
Spatial APIs
- Live Shared layer catalogue (licence and attribution per layer)
- Live Public Site Check point values (atlas, no key)
- Live Team project geometry by share code (MCP
project_get) - Planned Keyed tile and area-statistics API
Engineering Engines
- Live MCP tools: W-ENG modules, PV yield (pvlib), wind AEP (PyWake), load flow (pandapower) — Business and above
- Planned Line mechanics, earthworks and layout engines through the API
Observation Services
- Live Observations in the app (areas, change detection, alerts) and extensions that read the open project
- Planned Observations API and sector report templates
Reports & Workflows
- Live Report verification lookup (public)
- Live wm-Digamma extensions — Team and above
- Live Standard file formats in and out
- Planned Report rendering and webhooks through the API
Documentation
| Section | Status | What it covers today |
|---|---|---|
| API catalogue | Live | The endpoints below with sample requests and responses (real endpoints only). |
| Authentication and API keys | Live Planned | Live: MCP keys issued by the WaiMAP administrator (Authorization: Bearer wmk_…, shown once, stored as a hash). Planned: self-service test / live keys. |
| Usage metering and quotas | Live Planned | Live: per-endpoint rate limits per connection, plan limits on projects and file sizes, AI usage billed from the paying account's WAI W$ balance. Planned: per-key usage dashboard and quotas. |
| Sandbox and sample data | Live Planned | Live: CAD / BIM samples, Observations samples and the project demonstrations (GeoJSON, CSV, PDF). Planned: sandbox keys and a sandbox project. |
| Report and file outputs via API | Planned | Today reports (PDF, Word, Excel) and drawings (DXF, DWG, IFC) are produced in the app; MCP tools return JSON results. |
| Publishing sub-services | Live Planned | Live: wm-Digamma extensions (manifest added by the administrator for a company or for everyone). Planned: a marketplace for partner apps. |
| Data privacy, project isolation and IP | Live | No OAuth access on behalf of members; an extension sees only what its manifest permissions allow in the open project of the user who runs it; an API key reads only team projects by their share code; partners keep their own IP and find their own customers. |
| Revenue share and terms | Planned | Partner apps sold through WaiMAP: 20 % of the partner's revenue to WaiMAP, priced on the Enterprise basis; the terms are published with the marketplace. |
API catalogue — real endpoints
MCP API Live Business and above
POST api/mcp.php — JSON-RPC 2.0 (initialize, tools/list, tools/call).
POST api/mcp.php
Authorization: Bearer wmk_…
{"jsonrpc":"2.0","id":1,"method":"tools/call","params":{"name":"pv_yield","arguments":{"lat":36.63,"lng":33.40,"kwp":1000}}}
→ {"jsonrpc":"2.0","id":1,"result":{"content":[{"type":"text","text":"{ annual_kwh, specific_yield_kwh_kwp, performance_ratio, monthly_kwh[12], engine … }"}]}}Site Check Live public, rate-limited
GET api/sitecheck.php?lat=36.63&lng=33.40
→ {"ok":true,"configured":true,"lat":36.63,"lng":33.4,"values":{"gsa-pvout":{"value":…,"units":"kWh/kWp/yr"},"gwa-ws150":{…},"jrc-flood-rp100":{…},"ghsl-pop2025":{…},"ghsl-built2000":{…},"ghsl-built2025":{…}},"suitability":{"score":…,"weights":{…}},"growth":{…},"ai":false}Layer catalogue Live public list
GET api/layers.php?action=list→ {"ok":true,"layers":[{"id":"…","name":"…","category":"…","attribution":"…","licence":"…","minzoom":…,"maxzoom":…}]}Only layers cleared for commercial use are listed; each layer's licence and attribution apply.
Report verification Live public
GET api/verify.php?action=lookup&id=WMR-YYYY-NNNNNN-XX→ {"ok":true,"id":"WMR-…","status":"active","type":"…","issued":"YYYY-MM-DD","valid_until":"…","sha256":[{"format":"PDF","sha256":"…"}]}Unknown ids get one generic answer (no enumeration).
MCP tools (from the server)
weng_catalogList the W-ENG engineering modules (conductor selection, sag / clearance, cable sizing, pipe wall thickness) with their inputs.weng_runRun one W-ENG module, e.g. weng.pipe_wall {diameter_mm, maop_bar}, weng.conductor_select {power_mw, voltage_kv}, weng.sag_tension {conductor, spans_m, attachment_height_m, required_clearance_m}, weng.cable_sizing.pv_yieldHourly PV yield with pvlib (PVGIS TMY) on the WaiMAP compute worker: specific yield, PR, monthly kWh.wind_aepWind farm AEP with wake losses (PyWake). positions [[lat,lng]…], turbine {name, diameter_m, hub_m, power_curve [[m/s,kW]…]}, sectors [[freq, A, k]…] (12) or timeseries {ws, wd}.grid_loadflowGrid connection load flow and IEC 60909 short circuit (pandapower): plant_mw, line_km, hv_kv, mv_kv, grid_sc_mva.project_getA WaiMAP team project by its share code: name, mode, drawings (GeoJSON incl. CAD elements), inputs, notes.
Extension permissions
point.read · map.read · map.draw · project.read · cad.read · cad.write · ui.notify — a call without the permission is refused. Manifest and SDK: see the extension guide shipped with WaiMAP (extensions/sdk/wmd.js, sample extensions/site-buffer/).
Services available now
MCP API
Business and above
POST api/mcp.php — JSON-RPC 2.0 (initialize, tools/list, tools/call), Authorization: Bearer wmk_… (key issued by the WaiMAP administrator, shown once, stored as a hash). Tools listed below come from the server itself.
wm-Digamma extensions
Team and above
A web page + a manifest {id, name, version, entry, permissions[], tools[], scope}. WaiMAP opens it in a sandboxed iframe (no access to cookies, storage or the page); every postMessage call is checked against the permissions in the manifest; declared tools become Brain tools while the extension is open. SDK: extensions/sdk/wmd.js.
Report verification lookup
Public
GET api/verify.php?action=lookup&id=WMR-YYYY-NNNNNN-XX → minimal public metadata of an issued report and, while verification is active, the SHA-256 of the verified files; the file check runs in the browser (/verify/{id}). Unknown ids get one generic answer (no enumeration).
Shared layer catalogue
Public list
GET api/layers.php?action=list → the map layers WaiMAP may show (id, name, category, attribution, licence, zoom range). Only layers cleared for commercial use are listed; each layer's licence and attribution apply to anything you build with it.
Example apps you can build
Drone defect report
Observe + WaiSpace + report verification
Upload drone photos and orthophotos to WaiSpace, mark defects at the site you watch in Observe, issue the inspection report and let the client check it on the verify page.
Pipeline monitoring
MCP (project_get, weng_run) + Observe
Read the pipeline route of a team project, re-check wall thickness for a new MAOP with W-ENG and watch the corridor for construction or hazard events.
Investor portfolio screening dashboard
MCP (pv_yield, wind_aep, grid_loadflow)
Run yield and grid checks for every site in a portfolio from your own dashboard and rank them with your own criteria.
Municipal zoning check
wm-Digamma extension (point.read, cad.read, map.draw)
An extension that tests a drawn parcel or building against local zoning rules and draws the setbacks on the map.
Field inspection app
wm-Digamma extension (project.read, cad.write, ui.notify)
A checklist that adds inspection points to the project drawing and reports progress to the team.
Examples show what the available services allow; they are not WaiMAP products.
How to start
- API keys today: subscribe to the Business plan (or Enterprise); the WaiMAP administrator issues your MCP key (Admin → wm-Digamma & API).
- Extensions today: Team plan or above; the administrator adds your manifest (https URL or JSON) for your company or for everyone.
- Self-service test / live keys: coming.
- Marketplace for partner apps: planned — 20 % of the partner's revenue to WaiMAP, terms published with the marketplace.
Rules
- Licences of the map layers apply; a layer with commercial_ok:false is never served or listed.
- Partner work is kept separate from WaiMAP members' projects; partners find their own customers.
- No access to members' data: an extension sees only what its manifest permissions allow in the open project of the user who runs it; an API key reads only team projects by their share code.
- AI usage through WaiMAP is billed from the WAI W$ balance of the account that pays.
Also available
- Validation registry (public)Every engine comparison as JSON: api/report.php?action=validation&format=json (also as PDF and on the validation page).
- Project and report linksTeam projects open by share code (?project=CODE); report pages can be shared as private links or published to the gallery after review.
- Standard file formatsData comes in and goes out in standard formats (Shapefile, GeoJSON, KML, DXF, GeoTIFF, LAS, Excel, CSV, PVsyst / SAM weather files), so other tools can read WaiMAP results without an API.
- Machine-readable summaryllms.txt: a plain-text summary of the platform for AI assistants and crawlers.
WaiMAP