Analytics

Collections

Note: Spaces have been rebranded as Collections in Mode, but the API will continue to refer to spaces. The spaces object and resources are the same as Collections in the Mode UI.

`Collection` collection response

Collections

array

Collection Object

id

integer

token

string

name

string

description

string

space_type

string

space_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
    },
    "spaces": [
        {
            "id": 170,
            "token": "728f6328ea67",
            "name": null,
            "description": null,
            "space_type": "custom",
            "space_url": "/api/modeanalytics/spaces/728f6328ea67"
        },
        {
            "id": 171,
            "token": "25e6637df704",
            "name": null,
            "description": null,
            "space_type": "custom",
            "space_url": "/api/modeanalytics/spaces/25e6637df704"
        },
        ...
    ],
    "_links": {
        "next_page": {
            "href": "/batch/{workspace}/spaces?page=2&per_page=1000"
        },
        "prev_page": {
            "href": "/batch/{workspace}/spaces?page=1&per_page=1000"
        }
    }
}

List collections for an account

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

URL Params

organization

required
string Organization username
Query Params

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

Space collection response

401

Unauthorized

404

Organization not found

GET /batch/{workspace}/spaces

curl --location --request GET 'https://app.mode.com/batch/{workspace}/spaces' \
     --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}/spaces')
puts response
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}/spaces")

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)
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}/spaces');
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();