Data Catalog API
The Data Catalog API is a read-only API for listing data from the Koordinates catalogue. For write access to the items listed here, refer to the item-specific API endpoints.
For the full reference, see Data Catalog on apidocs.koordinates.com.
Useful Headers
Section titled “Useful Headers”List views provide some useful headers in responses:
- X-Paginate-By : The number of results (maximum) that will be returned by the request.
- X-Resource-Range : The range and count for the current request in the format start-end/total. start and end are 0-based indexes, the range has an exclusive upper bound. In other words, the resource range 10-20/112 means records 11 through 20 (inclusive) of 112 total records. For any request, you should recieve end - start records.
- Link : A list of links (conforming to RFC5988) to related views.
List Catalog Entries
Section titled “List Catalog Entries”/data/Get Catalog EntriesThis view shows the published version of each layer, table, set, document or source. It will not show items that have not been published. Multiple filter parameters of different names will be AND-ed together. Multiple uses of the same filter parameter will be OR-ed.
Parameters
Section titled “Parameters”- kind: string (optional). The kind of item, data type or source type. Multiple
kindvalues are OR-ed together. Item kinds:layer table set document source mapviewer catalog-item fork. Data types:vector raster grid attribute-grid pointcloud. Source types:upload arcgis cifs postgres wfs s3 url info web kart. Catalog item types:threedtiles external smalldata. Kart repositories:repo(excludes mirrors and point cloud repos)repo-all repo-mirror repo-vector repo-table repo-raster repo-pointcloud - public: string (optional). Choices: true false
- Group: string (optional) A group id or a group api url. Example: 1
- license: string (optional). A license id, a license api url or either true (has a license) or false (no license specified) license. Example: 1
- **license.type:**string (optional). Choices: public-domain custom commercial cc(-by|-nc|-nd|-sa)*. Example: cc-by-nc
- license.jurisdictionstring (optional). Ensure jurisdiction is a valid country code. Example: nz
- license.versionstring (optional). Can be a single digit or specific with one decimal place. Example: 3.0
- category: string (optional). Ensure / characters in categories are url-encoded. Example: topographic/elevation
- geotag: string (optional). Ensure / characters in geotags are url-encoded. Example: global/oceania/new-zealand/auckland
- tag: string (optional). Search for a single tag. Spaces should be replaced with dashes. Example: new-zealand.
- q: string (optional). Search for a specific set of terms, space-separated. Example: road parcels
- created_at.before: string (optional). Example: 2013-12-03T03:56:55Zcreated_at.
- after: string (optional)
- updated_at.before: string (optional)
- updated_at.after: string (optional). An ISO 8601 formatted data strong. If no timezone is specified, UTC will be assumed.
- sort: string (optional). Sort results. If empty or not provided, search relevance ordering as assumed if q is also given (otherwise ordering will be undefined. Example: -name. Choices: name (A→Z) -name (Z→A) created_at (new→old) -created_at (old→new) updated_at -updated_at popularity (most popular→least popular)
Response 200
Headers
Content-Type: application/jsonX-Paginate-By: 100X-Resource-Range: 0-1/1Link: <https://{domain}/services/api/v1/data/?sort=name>; rel="sort-name", <https://{domain}/services/api/v1/data/?sort=-name>; rel="sort-name-desc", <https://{domain}/services/api/v1/data/?page=2>; rel="page-next", <https://{domain}/services/api/v1/data/?page=45>; rel="page-last"Body
[{ "id": 123, "url": "https://{domain}/services/api/v1/layers/123/", "type": "layer", "name": "Fictional Boundary Points", "first_published_at": "2013-01-01T00:01:01", "published_at": "2013-12-03T03:56:55Z"}]Latest Catalog Entries
Section titled “Latest Catalog Entries”/data/latest/List Catalog Entries' Latest VersionThis will provide a filterable list view of layers, tables, sets, documents and sources, similar to /data/. This view shows the latest version of each item. The most recent version of an item will appear here, regardless of whether or not it has been published. All the same filters and ordering from /data/ applies.
Parameters
Section titled “Parameters”- version.status: string (optional). The status of the latest version of the item. Choices: ok error importing cancelled new
- has_draft: boolean (optional). If
true, only return items that have an unpublished draft version.
Response 200
Headers
Content-Type: application/jsonBody
[{ "id": 123, "url": "https://{domain}/services/api/v1/layers/123/", "type": "layer", "name": "Fictional Boundary Points", "first_published_at": "2013-01-01T00:01:01", "published_at": "2013-12-03T03:56:55Z"}]Draft catalog entries
Section titled “Draft catalog entries”/data/drafts/List catalog entries' draft versionsThis works like /data/latest/, but only lists items whose latest version hasn’t been published. It takes the same filters and ordering, including version.status.