Skip to content
getgeolens.com

Probe Service Url

POST
/services/probe/
curl --request POST \
--url https://example.com/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

Media type application/problem+json
ProblemDetail
object
type
Type
string
default: about:blank
title
required
Title
string
status
required
Status
integer
detail
required
Any of:
string
Example
{
"detail": "Dataset not found",
"status": 404,
"title": "Not Found",
"type": "about:blank"
}

Unauthorized — missing or invalid credentials

Media type application/problem+json
ProblemDetail
object
type
Type
string
default: about:blank
title
required
Title
string
status
required
Status
integer
detail
required
Any of:
string
Example
{
"detail": "Dataset not found",
"status": 404,
"title": "Not Found",
"type": "about:blank"
}

Forbidden — caller lacks write access

Media type application/problem+json
ProblemDetail
object
type
Type
string
default: about:blank
title
required
Title
string
status
required
Status
integer
detail
required
Any of:
string
Example
{
"detail": "Dataset not found",
"status": 404,
"title": "Not Found",
"type": "about:blank"
}

Not found

Media type application/problem+json
ProblemDetail
object
type
Type
string
default: about:blank
title
required
Title
string
status
required
Status
integer
detail
required
Any of:
string
Example
{
"detail": "Dataset not found",
"status": 404,
"title": "Not Found",
"type": "about:blank"
}

Conflict — resource state prevents the operation

Media type application/problem+json
ProblemDetail
object
type
Type
string
default: about:blank
title
required
Title
string
status
required
Status
integer
detail
required
Any of:
string
Example
{
"detail": "Dataset not found",
"status": 404,
"title": "Not Found",
"type": "about:blank"
}

Validation error

Media type application/problem+json
ProblemDetail
object
type
Type
string
default: about:blank
title
required
Title
string
status
required
Status
integer
detail
required
Any of:
string
Example
{
"detail": "Dataset not found",
"status": 404,
"title": "Not Found",
"type": "about:blank"
}

Too many requests — retry after the advertised interval

Media type application/problem+json
ProblemDetail
object
type
Type
string
default: about:blank
title
required
Title
string
status
required
Status
integer
detail
required
Any of:
string
Example
{
"detail": "Dataset not found",
"status": 404,
"title": "Not Found",
"type": "about:blank"
}
Retry-After
integer

Seconds until the request may be retried

Internal server error

Media type application/problem+json
ProblemDetail
object
type
Type
string
default: about:blank
title
required
Title
string
status
required
Status
integer
detail
required
Any of:
string
Example
{
"detail": "Dataset not found",
"status": 404,
"title": "Not Found",
"type": "about:blank"
}

Service unavailable — the database could not serve the request

Media type application/problem+json
ProblemDetail
object
type
Type
string
default: about:blank
title
required
Title
string
status
required
Status
integer
detail
required
Any of:
string
Example
{
"detail": "Dataset not found",
"status": 404,
"title": "Not Found",
"type": "about:blank"
}