Docs / Developers / API overview

API overview

Read layers, edit features, upload files and receive webhooks at https://api.orbgis.se/v1. The API uses your existing OrbGIS permissions and is included at no extra charge.

Make your first request#

  1. Create a read key

    In the portal, open Admin → Integrations, create an integration with the Viewer role, then create a key with the read scope. Copy it when shown. See Authentication.

  2. List your layers

    Run the command below on your own computer or server. Replace YOUR_API_KEY with your key. The response’s collections array contains the layers the integration can see.

export ORBGIS_API_KEY="YOUR_API_KEY"
curl --fail-with-body \
  -H "Authorization: Bearer $ORBGIS_API_KEY" \
  "https://api.orbgis.se/v1/collections?limit=10"

Copy a collection’s id, then request /v1/collections/{id}/items?limit=10 with the same header to read its features. A collection is a feature layer; its UUID differs from the dataset’s item id.

Choose a task#

TaskGuide
Read GeoJSON, filter or page through a layerReading features
Create, update or delete features; replace a layerWriting features
Upload a file, export a GeoPackage or check a jobFiles and jobs
Receive signed change notificationsWebhooks
Render published layers on your websitePublic maps
Connect a desktop GIS clientQGIS and GDAL

Use the API reference for route parameters and response fields. Import the OpenAPI document into Postman, Insomnia or an SDK generator.

Access and errors#

  • Send an integration key or user access token in the Authorization: Bearer … header. Keep keys on your server. Published content can be read without a credential.
  • Errors use application/problem+json with a machine-readable code. Use X-Request-Id to correlate requests with logs; the API echoes a valid id or supplies one.
  • A 429 response includes Retry-After. Read X-RateLimit-Limit, X-RateLimit-Remaining and X-RateLimit-Reset to track the current request allowance.

Limits#

LimitDefault
Reads per key600 requests/minute
Writes per key60 requests/minute
Anonymous reads per network120 requests/minute
Requests per organization200 000/day
Concurrent database-heavy requests per organization4

Follow feature pages sequentially. On 429 too_many_concurrent, wait for Retry-After before retrying. Use an export for large downloads.

Versioning#

The version is in the path. Changes within /v1 are additive: new routes, optional parameters or response fields. Breaking changes require /v2; the old version remains available for at least twelve months, with Deprecation and Sunset headers announcing its end date.