GeoIQ API Overview
GeoIQ is the engine that powers the GeoCommons Community. GeoIQ includes a full Application Programming Interface (API) that allows developers to build unique and powerful domain specific applications. The API provides capability for uploading and download data, searching for data and maps, building, embedding, and theming maps or charts, as well as general user, group, and permissions management.
The GeoIQ API consists of a REST API and a JavaScript API. REST means that it uses simple URL’s and HTTP methods to perform all of the actions. For example, a dataset is a specific endpoint that a user can create, read, update or delete (CRUD).
There are many sections to the API included in this documentation. Each section contains specific methods, examples, and illustrations.
Overall Capabilities
- Upload data and register web feeds
- Manage, update, and delete datasets
- Download datasets
- Search for data and maps
- Create maps and style layers
- Embed maps and charts into websites
- Create, update and delete users
- Create groups and add or remove users
- Set access permissions for viewing, downloading, or editing resources
Available Resources
GeoIQ uses general HTTP REST architecture. This provides a simple interface for working with PLATFORM_NAME. The following is a complete list of available endpoints. Some endpoints have full CRUD capability, while others are limited to just a subset of methods. Each are documented in more detail in the relevant API documentation section.
- http://geocommons.com/datasets
- http://geocommons.com/maps
- http://geocommons.com/analysis
- http://geocommons.com/users
- http://geocommons.com/groups
- http://geocommons.com/search
- http://geocommons.com/configuration
Content Type
The GeoIQ relies heavily upon supporting many formats for each resource.
- atom – application/atom+xml
- csv – text/csv
- json – application/json
- kml – application/vnd.google-earth.kml+xml
- xml – text/xml
HTTP Status Codes
The PLATFORM_NAME API attempts to return appropriate HTTP status codes for every request.
- 200 OK: Success!
- 201 Created: The new resource was successfully created. The response will include a location URL to the new resource.
- 202 Accepted: The update to a resource was successfully applied.
- 304 Not Modified: There was no new data to return.
- 400 Bad Request: The request was invalid. An accompanying error message will explain why.
- 401 Unauthorized: Authentication credentials were missing or incorrect.
- 403 Forbidden: The request is understood, but it has been refused. An accompanying error message will explain why.
- 404 Not Found: The URI requested is invalid or the resource requested, such as a user, does not exists.
- 406 Not Acceptable: Returned when an invalid format is specified in the request.
- 500 Internal Server Error: Something is broken. Please post to the group so the PLATFORM_NAME team can investigate.
- 502 Bad Gateway: GeoIQ is down or being upgraded.
- 503 Service Unavailable: The PLATFORM_NAME servers are up, but overloaded with requests. Try again later.
