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