Skip to content
getgeolens.com

Probe Service Url

POST
/services/probe/
curl --request POST \
--url https://example.com/api/services/probe/ \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '{ "url": "example", "token": "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.

Media type application/json
ProbeRequest
object
url
required
Url

Service URL to probe. May be a WFS GetCapabilities URL or an ArcGIS service endpoint.

string
>= 1 characters <= 2048 characters
token
Any of:
string
<= 1000 characters
Example generated
{
"url": "example",
"token": "example"
}

Successful Response

Media type application/json
ProbeResponse
object
service_type
required
Service Type

Detected service type, e.g. ‘WFS 2.0’ or ‘ArcGIS FeatureServer’.

string
url
required
Url

Normalized service URL after probing.

string
layers
required
Layers

Layers exposed by the probed service.

Array<object>
LayerInfo
object
name
required
Name

Internal layer identifier used by the source service.

string
title
Any of:
string
geometry_type
Any of:
string
feature_count
Any of:
integer
layer_type
Layer Type

Layer kind: ‘layer’ (spatial) or ‘table’ (non-spatial attribute table).

string
default: layer
layer_id
Any of:
integer
object_id_field
Any of:
string
kind
Kind

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’.

string
default: vector
Allowed values: vector raster
selected_layer_id
Any of:
integer
Example
{
"layers": [
{
"layer_type": "layer",
"kind": "vector"
}
]
}

Bad request — invalid payload

Unauthorized — missing or invalid credentials

Forbidden — caller lacks write access

Not found

Conflict — resource state prevents the operation

Validation error

Internal server error