Probe Service Url
const url = 'https://example.com/services/probe/';const options = { method: 'POST', headers: {Authorization: 'Bearer <token>', 'Content-Type': 'application/json'}, body: '{"url":"example","token":"example","auth":{"method":"bearer","token":"example","username":"example","password":"example","header_name":"example","header_value":"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 '{ "url": "example", "token": "example", "auth": { "method": "bearer", "token": "example", "username": "example", "password": "example", "header_name": "example", "header_value": "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 ”object
Service URL to probe. May be a WFS GetCapabilities URL or an ArcGIS service endpoint.
How one request authenticates to the remote service it names.
object
How the credential is presented to the remote service. Omit the whole auth object for a public service.
Responses
Section titled “ Responses ”Successful Response
object
Detected service type, e.g. ‘WFS 2.0’ or ‘ArcGIS FeatureServer’.
Normalized service URL after probing.
Layers exposed by the probed service.
object
Internal layer identifier used by the source service.
Layer kind: ‘layer’ (spatial) or ‘table’ (non-spatial attribute table).
Backend-classified layer kind. ‘vector’ = point/line/polygon feature data. ‘raster’ = imagery/coverage. Classified as ‘raster’ when geometry_type contains ‘raster’, the adapter is STAC, the layer declares coverage_format or bands, or one of its links has a media type of image/*. Everything else, including a layer with no geometry_type at all, defaults to ‘vector’.
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
Too many requests — retry after the advertised interval
Headers
Section titled “ Headers ”Seconds until the request may be retried
Internal server error
Service unavailable — the database could not serve the request