Implementation Step 1:
Initialize dataset

Initialize a new report dataset using Data API's SET /reports/datasets endpoint. The request data specifies the configuration for the dataset including which fields to calculate.

The specific request and response format depends on the type of dataset being generated. See the attributes relevant for each type of dataset:

The endpoint returns a dataset_id for the new dataset.

If you are required to upload input files as part of your request, as indicated by the file_count param, the response also provides a list of input_files URLs, which are used in step 2.

If you are not providing input files, the response will contain a job_reference, and you can proceed to step 3.

    "dataset_type": "activity-summary-by-group",
    "file_count": 1,
    "filters": {
        "activity_id": [
    "options": {
        "default_sort_field": "mean_percent",
        "default_sort_order": "desc",
        "fields": [
        "default_users_sort_field": "score",
        "default_users_sort_order": "desc",
        "user_fields": [
    "groups": [
            "key": "district",
            "label": "District"
            "key": "school",
            "label": "School"
            "key": "class",
            "label": "Class"
  "meta": {
    "status": true,
    "timestamp": 1483585276
  "data": {
    "dataset_id": "ce6c3842-5366-486d-a68f-ab9e6160e9de",
    "input_files": [