Skip to main content
GET
/
sites
List sites
curl --request GET \
  --url https://api.demo.cula.earth/tracking/v1/sites \
  --header 'Authorization: Bearer <token>' \
  --header 'Cula-Organisation-Id: <cula-organisation-id>'
{
  "data": [
    {
      "id": "ste_01kqzcjrpyf27tge77evmjmnqw",
      "external_id": "GC-BERLIN-WAREHOUSE",
      "name": "Berlin Warehouse",
      "timezone": "Europe/Berlin",
      "coordinates": {
        "lat": 52.520008,
        "long": 13.404954
      },
      "address": {
        "street": "Friedrichstrasse 1",
        "city": "Berlin",
        "postcode": "10117",
        "country": "Germany",
        "country_code": "DE"
      },
      "managed_by_site": {
        "id": "ste_01kqzcjrpyf27tge6smsbnhkh5",
        "external_id": "GC-SITE-REFINERY"
      },
      "organisation": {
        "id": "org_01kqzcjrpyf27tge87es6ns4w3",
        "external_id": null
      }
    }
  ],
  "pagination": {
    "starting_after": null,
    "limit": 10,
    "has_more": false,
    "next_cursor": null
  },
  "geocoded_address": {
    "lat": 52.520008,
    "long": 13.404954,
    "street": "Friedrichstrasse 1",
    "city": "Berlin",
    "postcode": "10117",
    "country": "Germany",
    "country_code": "DE"
  }
}

Authorizations

Authorization
string
header
required

OAuth2 client credentials flow. Exchange your client_id and client_secret for a short-lived access token, then pass it as a Bearer token in the Authorization header.

Headers

Cula-Organisation-Id
string
required

Organisation ID that scopes this request. The authenticated consumer must be authorized for this organisation. Omitting this header returns 400; passing an unauthorised org returns 403.

Query Parameters

starting_after
string

Cursor for forward pagination. Pass the next_cursor value from a previous response to fetch the next page. Must be a valid resource ID.

limit
integer
default:10

Maximum number of items to return per page.

Required range: 1 <= x <= 50
managed_by_site
string

Filter to sites managed by a given site. Use a site ID or ext-{externalId}.

organisation
string

Filter to sites belonging to an organisation. Use an organisation ID or ext-{externalId}.

address
string

Free-form address string to match against. The server geocodes the string, then filters sites by the resolved address components: country_code must match exactly, and city/postcode are matched as case-insensitive substrings when the geocoder resolves them. Street is not used for matching. If the address cannot be geocoded, the request fails with a validation error.

Response

Paginated list of sites.

data
object[]
required
pagination
object
required

Cursor-based pagination metadata.

geocoded_address
object

Present only when the request included an address filter. Shows the geocoding result used for filtering.