Analytics

Reports

`Report` collection response

Reports

array

Report Object

id

integer

token

string

name

string

description

string

created_at

string

edited_at

string

updated_at

string

last_successfully_run_at

string

last_viewed_at

string

last_run_at

string

last_run_token

string

last_run_state

string

creator_email

string

space_id

string

space_token

string

report_url

string

Links

Paginated resources will contain a set of links to the previous page and next page of results.

  • next_page
  • prev_page

Pagination

page

integer

per_page

integer

count

integer

total_pages

integer

total_count

integer

{
    "pagination": {
        "page": 1,
        "per_page": 1000,
        "count": 1000,
        "total_pages": 5,
        "total_count": 4146
    },
     "reports": [
        {
            "id": 5244,
            "token": "728f6328ea67",
            "name": null,
            "description": null,
            "created_at": "2020-05-04T20:17:55.387Z",
            "edited_at": null,
            "updated_at": "2020-05-04T20:17:55.387Z",
            "last_successfully_run_at": null,
            "last_run_token": null,
            "last_run_state": null,
            "creator_email": "creator@company.com",
            "space_id": 41,
            "space_token": "acd5fc167d0g",
            "report_url": "/api/modeanalytics/reports/728f6328ea67"
        },
        {
            "id": 5412,
            "token": "bfe4fc361d9f",
            "name": null,
            "description": null,
            "created_at": "2020-05-04T20:17:57.253Z",
            "edited_at": "2020-12-04T20:17:57.253Z",
            "updated_at": "2020-05-04T20:17:57.253Z",
            "last_successfully_run_at": "2020-12-14T20:17:57.253Z",
            "last_run_token": "3ffcbb7b2c63",
            "last_run_state": "failed",
            "creator_email": "creator@company.com",
            "space_id": 41,
            "space_token": "acd5fc167d0g",
            "report_url": "/api/modeanalytics/reports/bfe4fc361d9f"
        },
        ...
    ],
    "_links": {
        "next_page": {
            "href": "/batch/{workspace}/reports?page=2&per_page=1000"
        },
        "prev_page": {
            "href": "/batch/{workspace}/reports?page=1&per_page=1000"
        }
    }
}

List reports for an account

To return a paginated list of all reports for a given Workspace, send a GET request. Each page has 1000 reports by default.

URL Params

workspace

required
string Workspace username
Query Params

include_spaces

string With?include_spaces=all, the endpoint will include Reports in members' personal spaces. By default Reports in members personal spaces are excluded.

per_page

integer The number of objects to return per_page. Example: per_page=100. Note: per_page must be greater than 0 and less than 1000.
Responses

200

Report collection response

401

Unauthorized

404

Workspace not found

GET /batch/{workspace}/reports

curl --location --request GET 'https://app.mode.com/batch/{workspace}/reports' \
     --header "Content-Type: application/json" \
     --header "Accept: application/json" \
     --header "Authorization: {bearer_token}"

# Optional Query Params
  # ?include_spaces=all will include reports in members' personal spaces

curl --location --request GET 'https://app.mode.com/batch/{workspace}/reports?include_spaces=all' \
    --header "Content-Type: application/json" \
    --header "Accept: application/json" \
    --header "Authorization: {bearer_token}"
require 'http'

decoded_token = "#{token}:#{access_key}:#{access_secret}"
encoded_token = Base64.strict_encode64(decoded_token)
bearer_token  = "Bearer #{encoded_token}"

headers = {
  content_type: 'application/json',
  accept: 'application/json',
  authorization: bearer_token
}

response = HTTP.headers(headers)
               .get('https://app.mode.com/batch/{workspace}/reports')
puts response

# Optional Query Params
  # ?include_spaces=all will include reports in members' personal spaces

response = HTTP.headers(headers)
              .get('https://app.mode.com/batch/{workspace}/reports?include_spaces=all')
from urllib2 import Request, urlopen
from base64 import b64encode

decoded_token = token + ':' + access_key + ':' + access_secret
encoded_token = b64encode(decoded_token.encode('utf-8'))
bearer_token  = 'Bearer ' + encoded_token.decode('utf-8')

request = Request("https://app.mode.com/batch/{workspace}/reports")

request.add_header("Authorization", bearer_token)
request.add_header("Accept", "application/json")
request.add_header("Content-Type", "application/json")

response = urlopen(request)
response_body = response.read()

print(response_body)

# Optional Query Params
  # ?include_spaces=all will include reports in members' personal spaces

request = Request("https://app.mode.com/batch/{workspace}/reports?include_spaces=all")
var request = new XMLHttpRequest();

var decoded_token = token + ':' + access_key + ':' + access_secret;
var encoded_token = btoa(decoded_token);
var bearer_token  = 'Bearer ' + encoded_token;

request.open('GET', 'https://app.mode.com/batch/{workspace}/reports');
request.withCredentials = true;

request.setRequestHeader('Authorization', bearer_token);
request.setRequestHeader('Content-Type', 'application/json');
request.setRequestHeader('Accept', 'application/json');

request.onreadystatechange = function () {
  if (this.readyState === 4) {
    console.log('Status:', this.status);
    console.log('Headers:', this.getAllResponseHeaders());
    console.log('Body:', this.responseText);
  }
};

request.send();

// Optional Query Params
  // ?include_spaces=all will include reports in members' personal spaces

request.open('GET', 'https://app.mode.com/batch/{workspace}/reports?include_spaces=all');