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