GoodData | Developer Network

GoodData API Structure

GoodData platform exposes all of its functionality via the REST-ful HTTP APIs. When dealing with our APIs, HTTP/1.1 protocol specification should be followed when constructing requests and handling reponses. Our resources understand standard HTTP methods and respond with standard HTTP status codes.

Client can negotiate numerous media types with server, including YAML (application/yaml), JSON (application/json), and HTML (text/html). HTML is useful to browse the API in web browser and JSON is recommended and preferred for programmatical use.

We will keep documenting the APIs here. If you want to use the REST API in your custom Apps, the best way how to start is to inspect our API resources. Anyway, you can also use GoodData CL Tool which is Java wrapper that helps you with using GoodData API.

A typical integration scenario looks like this:

  1. Login to GoodData (see the Authentication API)
  2. Create a new GoodData project (see the Provisioning API)
  3. Create new Logical Data Model by executing a MAQL DDL script (see the Modeling API)
  4. Transform your data to fit Data Loading Interfaces (DLIs) generated from the MAQL DDL script.
  5. Load your data to the GoodData project (see the Data Loading API)
 

Authentication API

The authentication API provides access to the GoodData’s token-based authentication which is required prior to authorizing access to most GoodData resources.

To lean more about how to authenticate to GoodData, read the Authentication API documentation, where you can find an example as well.

 

Modeling API

Each GoodData project requires so called Logical Data Model (LDM) that describes the data that are available for analysis. The LDM consists of mutually connected attribute, fact, dataset, and folder objects. These objects are created using a MAQL DDL scripts.

 

Data Loading API

The data loading API enable the physical transfer of data between various data sources and a GoodData project. The MAQL DDL script generates so called Data Loading Interface (DLI) that you can use to load the data. Each DLI consists of multiple parts that each describe a structure of a data file that is exchanged between your application and GoodData. You need to transform your data to fit the structures described in the parts, package all data files along with a simple manifest into a ZIP archive, and transfer the archive via FTP to GoodData.

You can find a more depth-in explanation of the language and its use on a dedicated MAQL DDL page.

 

Project Provisioning API

The project provisioning API takes care of creating and dropping new projects. Please note that the amount of projects that you can create in the GoodData platform is limited.

Consult a more depth-in Project Provisioning API documentation learn more about how to manage GoodData projects, accompanied with practical examples.