Probe Service Url
const url = 'https://example.com/services/probe/';const options = { method: 'POST', headers: {Authorization: 'Bearer <token>', 'Content-Type': 'application/json'}, body: '{"token":"example","url":"example"}'};
try { const response = await fetch(url, options); const data = await response.json(); console.log(data);} catch (error) { console.error(error);}curl --request POST \ --url https://example.com/services/probe/ \ --header 'Authorization: Bearer <token>' \ --header 'Content-Type: application/json' \ --data '{ "token": "example", "url": "example" }'Probe a remote service URL to detect its type and list available layers.
Validates the URL against SSRF, detects whether it is a WFS or ArcGIS service, and returns a unified layer list. All attempts are audit-logged.
Authorizations
Section titled “Authorizations ”Request Body required
Section titled “Request Body required ”Responses
Section titled “ Responses ”Successful Response
object
Layers exposed by the probed service.
object
Backend-classified layer kind. ‘vector’ = point/line/polygon feature data. ‘raster’ = imagery/coverage. Per Phase 1057 CLASS-07 D-09. Classification rule: raster IFF geometry_type contains ‘raster’, adapter is STAC, or layer has coverage_format/bands/mediaType:image/*. Everything else (including geometry_type=None after D-05 ogrinfo drop) defaults to ‘vector’.
Layer kind: ‘layer’ (spatial) or ‘table’ (non-spatial attribute table).
Internal layer identifier used by the source service.
Detected service type, e.g. ‘WFS 2.0’ or ‘ArcGIS FeatureServer’.
Normalized service URL after probing.
Example
{ "layers": [ { "kind": "vector", "layer_type": "layer" } ]}Bad request — invalid payload
object
Example
{ "type": "about:blank"}Unauthorized — missing or invalid credentials
object
Example
{ "type": "about:blank"}Forbidden — caller lacks write access
object
Example
{ "type": "about:blank"}Not found
object
Example
{ "type": "about:blank"}Conflict — resource state prevents the operation
object
Example
{ "type": "about:blank"}Validation error
object
Example
{ "type": "about:blank"}Internal server error
object
Example
{ "type": "about:blank"}