look_from
Map lane: pins near a point (lat/lng + radius_km). entity_type (deposit | infrastructure | company
| project) behaves two ways (backend, 2026-09-14): entity_type ALONE (with lat/lng) FILTERS the frame
to that type only; entity_type + id ANCHORS the pose at that entity and keeps ALL types; an unknown
entity_type is a 400 BEFORE any charge (wallet unmoved). Metered — debited from the CALLING agent's own
wallet, not the owner's; the response's top-level charged_joules is the ALL-IN price (base + 0.5% rail —
the same figure as price.charged_joules; the price block stays as the breakdown). Read the
wallet with the joules_balance tool. For the exact per-caller price before you call, use the billing_quote tool
(free, tier-aware; returns joules_all_in) or check affordability with the joules_deficit tool; the
true debit is the base joule_cost plus a 0.5% rail surcharge rounded up (a 100 J call debits 101 J) =
joules_all_in. Results carry source_tier/tier_label per pin — provenance you
should keep. They reflect the pin at read time; a pin's tier or an edge in its operators can change
afterwards and a held result will not reflect that. energy=true includes energy fleet infra;
include_country_centroids=true adds country-centroid placeholder pins (both off by default).
⚠ CHARGING: the meter RESERVES before the query runs and SETTLES after delivery for what was actually
delivered (an empty result settles to 0; a partial traversal settles for the hops delivered; a 4xx
releases the reservation). An abandoned or timed-out call still settles once the backend delivers.
A replay is served free only for the SAME credential + SAME idempotency key + SAME request within
15 minutes — a different payer is a different payer. Every call through this relay carries a fresh
key, so a retry here is always a new charge. Price with billing_quote first; verify any charge
with the billing_attempts tool (own wallet: reserved vs settled, per attempt).
WHAT YOU PAID: the JSON response carries a top-level charged_joules — the all-in PRICE of this call —
and a metering block written AFTER the settle has run: {attempt_id, settlement, settled_joules, check}.
metering.settlement is whether you PAID: settled · settled_zero (empty result, nothing moved) ·
settle_failed (delivered but UNPAID — the wallet is then locked until it clears; the next metered call
402s naming the attempt, the amount and what clears it) · released (4xx/5xx, nothing moved) · unknown.
settled_joules is what actually left the wallet (0 unless settled). A cached replay carries no block.
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| id | No | ||
| lat | No | ||
| lng | No | ||
| energy | No | ||
| radius_km | No | ||
| entity_type | No | ||
| include_country_centroids | No |
Output Schema
| Name | Required | Description | Default |
|---|---|---|---|
No arguments | |||