Skip to content
DezfilDocsv0.1.0

API and agentsAPI reference

Published

1 operation on 1 path.

/api/published/{token}/extent/{layerId}

POSTA published layer's current data extent

Sign-in No sign-inMCP tool published_layer_extent

Verified ingress source is charged before token resolution, including unknown tokens. The five view operations, the satellite style among them, share one source budget across tokens (default 60 per ten seconds); tiles, the satellite tiles among them, have a separate budget (default 600). Missing or forged provenance answers 503 ingress_unavailable. The combined state holds at most 10,000 entries, expired on traffic then evicted least recently used; eviction grants a fresh window. Untrusted proxies share their socket budget. Every address of one IPv6 /64 is charged to one budget; an IPv4 source is charged alone, whether mapped, reaching the instance through the NAT64 prefix 64:ff9b::/96, or neither. The token evaluates the map's SQL in its SQL home with the map owner's current reach, independently of visitor credentials, including while the owner is deactivated, restricted to the datasets the map's own layers name: nothing else of the owner's space is mounted for the link. A layer or widget that reads the instance's catalogue fails with catalogue_not_published while the owner holds datasets the map does not name, and one naming a dataset the owner can no longer reach fails with sql_error. Before first-account setup, a legacy token has only its pending-adoption publication scope; setup retires that scope atomically. Revocation is checked after asynchronous work before returning results. The projection never exposes account identity, private SQL, dataset paths or connection credentials. At most 65,536 wire bytes. Excess answers 413 request_body_too_large before JSON parsing. Empty bodies keep their default selections. The published half of the extent capability: the bounding box of what the reader's current state leaves drawn. The reader never names a field โ€” widget selections are keyed by widget id and resolve through the publication's stored widgets, and the timeline window's field comes from the map's own dock. A hidden layer or widget answers exactly as an unknown one does. Same shared reader rate limit as the other published lanes; kind: "empty" when nothing survives.

Parameters

  • tokenPathrequired

    Publish token.

    string

  • layerIdPathrequired

    Layer id within the publication.

    string

Request body (optional)

At most 65,536 bytes (64 KiB); a larger body is refused with request_body_too_large.

application/json

object

  • selectionsarray of object

    Widget selections, keyed by widget id โ€” the same shape the widget-values lane accepts.

  • timelineobject

    The reader's timeline window: min and max time values, either nullable for an open end. The field is the map's docked one, never stated here.

Responses

  • 200

    The extent.

    application/json

    LayerExtent

  • 405

    method_not_allowed: the method is unsupported for this path.

    application/json

    Error

    • AllowHeader

      Exactly the documented methods for this path.

      stringalways OPTIONS, POST

  • 413default

    Error with a machine-readable code and human message.

    application/json

    Error

  • 429

    rate_limited: Too many requests. Please slow down.

    application/json

    Error

  • 503

    ingress_unavailable: The instance cannot serve published maps yet. Private, no-store; refused before body work or publication resolution.

    application/json

    Error

Also on this path: OPTIONS under System.

Dezfil ยท Apache-2.0docs from 7439201b