Docs API reference

neoserver 0.1.2

Discover layers

POST /api/v1/workspaces/{workspace}/services/{service}/discover · Services

← All operations and schemas
POST /api/v1/workspaces/{workspace}/services/{service}/discover

Discovers available layers from the data source. Returns geometry tables/views for PostGIS, spatial tables for DuckDB.

Operation ID: discoverLayers

Authentication

Use one of the following authentication options. Permissions and workspace scope still apply. See authentication and access control.

  • Authorization: Bearer YOUR_ACCESS_TOKEN
  • X-API-Key: YOUR_API_KEY

Parameters

workspace path required

Workspace ID

string
service path required

Service ID

string

Responses

200 Discovered layers

Content type application/json

object
layers array of DiscoveredLayer ↗
401 Unauthorized

Content type application/json

403 Forbidden

Content type application/json

413 Request body exceeds the configured limit

Content type application/json

426 HTTPS required

Content type application/json

429 Request rate exceeded

Content type application/json

500 Discovery failed

Content type application/json

503 Service temporarily unavailable

Content type application/json

OpenAPI operation definition
{
  "description": "Discovers available layers from the data source. Returns geometry tables/views for PostGIS, spatial tables for DuckDB.",
  "operationId": "discoverLayers",
  "parameters": [
    {
      "description": "Workspace ID",
      "in": "path",
      "name": "workspace",
      "required": true,
      "schema": {
        "type": "string"
      }
    },
    {
      "description": "Service ID",
      "in": "path",
      "name": "service",
      "required": true,
      "schema": {
        "type": "string"
      }
    }
  ],
  "responses": {
    "200": {
      "content": {
        "application/json": {
          "schema": {
            "properties": {
              "layers": {
                "items": {
                  "$ref": "#/components/schemas/DiscoveredLayer"
                },
                "type": "array"
              }
            },
            "type": "object"
          }
        }
      },
      "description": "Discovered layers"
    },
    "401": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/Error"
          }
        }
      },
      "description": "Unauthorized"
    },
    "403": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/Error"
          }
        }
      },
      "description": "Forbidden"
    },
    "413": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/Error"
          }
        }
      },
      "description": "Request body exceeds the configured limit"
    },
    "426": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/Error"
          }
        }
      },
      "description": "HTTPS required"
    },
    "429": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/Error"
          }
        }
      },
      "description": "Request rate exceeded"
    },
    "500": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/Error"
          }
        }
      },
      "description": "Discovery failed"
    },
    "503": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/Error"
          }
        }
      },
      "description": "Service temporarily unavailable"
    }
  },
  "summary": "Discover layers",
  "tags": [
    "Services"
  ]
}

Search documentation

Type to search guides and reference pages.