Analytics
Reports
A report is the basic building block of analysis in Mode. Every report lives in a Collection, and can contain SQL queries, a Python or R Notebook, visualizations, report themes, etc.
You can use the reports
resource to manage both individual Mode reports and all reports in a given Collection.
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.
Report object
Properties | |
token required |
string |
id required |
integer |
name required |
string |
description |
string |
created_at required |
string |
updated_at required |
string |
published_at required |
string |
edited_at required |
string |
theme_id |
integer |
color_mappings |
string |
type required |
string |
last_successful_sync_at required |
string |
last_saved_at required |
string |
archived required |
boolean |
space_token |
string |
account_id required |
integer |
account_username required |
string |
public required |
boolean |
full_width |
boolean |
manual_run_disabled required |
boolean |
drill_anywhere_enabled required |
boolean |
run_privately required |
boolean |
drilldowns_enabled required |
boolean |
layout |
string |
is_embedded |
boolean |
is_signed |
boolean |
imported_datasets |
string |
shared |
boolean |
expected_runtime required |
number |
last_successfully_run_at required |
string |
last_run_at required |
string |
web_preview_image |
string |
last_successful_run_token required |
string |
github_link |
string |
query_count required |
string |
max_query_count required |
string |
chart_count |
string |
runs_count required |
string |
schedules_count required |
string |
query_preview required |
string |
view_count required |
string |
thoughtspot_published_at required |
string |
_links required |
object |
Links
All resource responses contain a set of links that describe other
related resources or actions that you can take on this resource.
A link is comprised of two main pieces:
its name (which describes its relationship to this resource)
and its href (the URL of the related action or resource).
All resources have at least a _self
link which is the URL
that will return a representation of this resource.
- account
- creator
- csv_export
- dataset_dependencies
- dbt_metadata
- embed_key
- last_run
- last_successful_github_sync
- last_successful_run
- perspective_email_subscription_memberships
- python_notebook
- python_visualizations
- queries
- report_filters
- report_index_web
- report_pins
- report_run
- report_runs
- report_schedules
- report_subscriptions
- report_theme
- self
- share
- space
- space_links
- star
- validate_email_subscriber
- web
- web_edit
- web_external_url
- web_report_runs
{
"token": "flkgj3h2f24",
"id": 73267438,
"name": "culpa mollit",
"created_at": "YYYY-MM-DDTHH:MM:SS.msZ",
"updated_at": "YYYY-MM-DDTHH:MM:SS.msZ",
"edited_at": "YYYY-MM-DDTHH:MM:SS.msZ",
"theme_id": 37094832,
"color_mappings": "nulla et esse ut",
"last_successful_sync_at": "YYYY-MM-DDTHH:MM:SS.msZ",
"last_saved_at": "YYYY-MM-DDTHH:MM:SS.msZ",
"archived": false,
"account_id": 51699936,
"account_username": "labore dolore consequat anim non",
"public": false,
"full_width": true,
"manual_run_disabled": false,
"run_privately": true,
"drilldowns_enabled": true,
"layout": "id",
"is_embedded": true,
"is_signed": true,
"shared": true,
"expected_runtime": 90198048.20198965,
"last_successfully_run_at": "YYYY-MM-DDTHH:MM:SS.msZ",
"last_run_at": "YYYY-MM-DDTHH:MM:SS.msZ",
"web_preview_image": "Ut",
"last_successful_run_token": "af2g34t4hyrnt",
"query_count": "anim adipisicing Lorem occaecat",
"chart_count": "est elit",
"schedules_count": "culpa id eiusmod dolore",
"query_preview": "fugiat",
"description": "Ut",
"space_token": "fg32wrg534f",
"flamingo_signature": "cillum sunt ea",
"github_link": "veniam laborum",
"_links": {
"self": {
"href": "commodo eu reprehenderit",
"templated": false
},
"web": {
"href": "cillum quis fugiat incididunt aute",
"templated": false
},
"account": {
"href": "Ut",
"templated": false
},
"report_run": {
"href": "Excepteur mollit irure",
"templated": false
},
"queries": {
"href": "occaecat magna sit Lorem",
"templated": false
},
"report_runs": {
"href": "cillum esse eu tempor",
"templated": false
},
"report_pins": {
"href": "et cillum ea",
"templated": false
},
"report_schedules": {
"href": "laborum adipisicing commodo",
"templated": false
},
"python_visualizations": {
"href": "sed ea",
"templated": false
},
"embed_key": {
"href": "aliquip commodo",
"templated": false
},
"last_run": {
"href": "ipsum ullamco laborum",
"templated": false
},
"last_successful_run": {
"href": "adipisicing in",
"templated": false
},
"perspective_email_subscription_memberships": {
"href": "magna laborum et ex amet",
"templated": false
},
"report_theme": {
"href": "qui labore dolor adipisicing",
"templated": false
},
"last_successful_github_sync": {
"href": "laborum in nostrud",
"templated": false
},
"web_edit": {
"href": "irure Excepteur consectetur",
"templated": false
},
"web_external_url": {
"href": "occaecat",
"templated": false
},
"csv_export": {
"href": "Lorem",
"templated": false
},
"share": {
"href": "dolore sunt ad",
"templated": false
},
"web_report_runs": {
"href": "sint dolore voluptate",
"templated": false
},
"star": {
"href": "velit elit Excepteur culpa",
"templated": false
},
"space": {
"href": "eu",
"templated": false
},
"space_links": {
"href": "ullamco",
"templated": false
},
"report_filters": {
"href": "pariatur ex proident Excepteur mollit",
"templated": false
},
"report_subscriptions": {
"href": "culpa",
"templated": false
},
"python_notebook": {
"href": "ea labore sed cillum",
"templated": false
},
"validate_email_subscriber": {
"href": "eu",
"templated": false
},
"creator": {
"href": "commodo Excepteur consequat Lorem ut",
"templated": false
}
},
"_embedded": {}
}
Get a report
To retrieve information about a single report, send a GET request including the report token to the reports
resource.
URL Params | ||
account required |
string |
Account (Workspace or User ) username
|
report required |
string |
Report token
|
Responses | |
200 |
Report response |
401 |
Unauthorized |
404 |
Report not found |
GET
/{account}
curl --include \
--header "Content-Type: application/json" \
--header "Accept: application/hal+json" \
'https://app.mode.com/api/{account}/reports/{report}'
require 'http'
username = 'your_api_key'
password = 'your_api_secret'
headers = {
content_type: 'application/json',
accept: 'application/hal+json'
}
response = HTTP.basic_auth(user: username, pass: password)
.headers(headers)
.get('https://app.mode.com/api/{account}/reports/{report}')
puts response
from urllib2 import Request, urlopen
headers = {
'Content-Type': 'application/json',
'Accept': 'application/hal+json'
}
request = Request('https://app.mode.com/api/{account}/reports/{report}', headers=headers)
response_body = urlopen(request).read()
print(response_body)
var request = new XMLHttpRequest();
request.open('GET', 'https://app.mode.com/api/{account}/reports/{report}');
request.setRequestHeader('Content-Type', 'application/json');
request.setRequestHeader('Accept', 'application/hal+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();
List reports using a data source
To return a list of all reports using a given Data Source, send a GET request to the reports
resource.
URL Params | ||
account required |
string |
Account (Workspace or User ) username
|
data_source required |
string |
DataSource token
|
Query Params | ||
filter |
string |
Returns a filtered list of Report s in a Space filtered by whether their created_at or updated_at timestamps are gt (greater than) or lt (less than) the datetime passed in ISO8601 format. Example: ?filter=created_at.gt.2019-10-23T06:23:01Z returns all Reports in a space created after that date.
|
order |
string |
With the order param, returns all Report s in a Space ordered in asc or desc order. Example: ?order=asc&order_by=created_at
|
order_by |
string |
With the order_by param, returns all Report s in a Space ordered by their created_at or updated_at timestamps. Example: ?order_by=created_at&order=asc
|
Responses | |
200 |
Report collection response |
401 |
Unauthorized |
404 |
Report not found |
GET
/{account}
curl --include \
--header "Content-Type: application/json" \
--header "Accept: application/hal+json" \
'https://app.mode.com/api/{account}/data_sources/{data_source}/reports'
# Optional Query Params:
# Filter reports by when they were created or updated
# '?filter={created_at|updated_at}.{gt|lt}.{YYYY-MM-DDTHH:MM:SSZ}'
curl --include \
--header "Content-Type: application/json" \
--header "Accept: application/hal+json" \
'https://app.mode.com/api/{account}/data_sources/{data_source}/reports?filter=created_at.gt.2019-12-19T10:21:12Z'
# Order reports by when they were created or updated
# '?order={asc|desc}&order_by={created_at|updated_at}'
curl --include \
--header "Content-Type: application/json" \
--header "Accept: application/hal+json" \
'https://app.mode.com/api/{account}/data_sources/{data_source}/reports?order=asc&order_by=created_at'
require 'http'
username = 'your_api_key'
password = 'your_api_secret'
headers = {
content_type: 'application/json',
accept: 'application/hal+json'
}
response = HTTP.basic_auth(user: username, pass: password)
.headers(headers)
.get('https://app.mode.com/api/{account}/data_sources/{data_source}/reports')
puts response
# Optional Query Params:
# Filter reports by when they were created or updated
# '?filter={created_at|updated_at}.{gt|lt}.{YYYY-MM-DDTHH:MM:SSZ}'
response = HTTP.basic_auth(user: username, pass: password)
.headers(headers)
.get('https://app.mode.com/api/{account}/data_sources/{data_source}/reports?filter=created_at.gt.2019-12-19T10:21:12Z')
# Order reports by when they were created or updated
# '?order={asc|desc}&order_by={created_at|updated_at}'
response = HTTP.basic_auth(user: username, pass: password)
.headers(headers)
.get('https://app.mode.com/api/{account}/data_sources/{data_source}/reports?order=asc&order_by=created_at')
from urllib2 import Request, urlopen
headers = {
'Content-Type': 'application/json',
'Accept': 'application/hal+json'
}
request = Request('https://app.mode.com/api/{account}/data_sources/{data_source}/reports', headers=headers)
response_body = urlopen(request).read()
print(response_body)
# Optional Query Params:
# Filter reports by when they were created or updated
# '?filter={created_at|updated_at}.{gt|lt}.{YYYY-MM-DDTHH:MM:SSZ}'
request = Request('https://app.mode.com/api/{account}/data_sources/{data_source}/reports?filter=created_at.gt.2019-12-19T10:21:12Z')
# Order reports by when they were created or updated
# '?order={asc|desc}&order_by={created_at|updated_at}'
request = Request('https://app.mode.com/api/{account}/data_sources/{data_source}/reports?order=asc&order_by=created_at')
var request = new XMLHttpRequest();
request.open('GET', 'https://app.mode.com/api/{account}/data_sources/{data_source}/reports');
request.setRequestHeader('Content-Type', 'application/json');
request.setRequestHeader('Accept', 'application/hal+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:
// Filter reports by when they were created or updated
// '?filter={created_at|updated_at}.{gt|lt}.{YYYY-MM-DDTHH:MM:SSZ}'
request.open('GET', 'https://app.mode.com/api/{account}/data_sources/{data_source}/reports?filter=created_at.gt.2019-12-19T10:21:12Z');
// Order reports by when they were created or updated
// '?order={asc|desc}&order_by={created_at|updated_at}'
request.open('GET', 'https://app.mode.com/api/{account}/data_sources/{data_source}/reports?order=asc&order_by=created_at');
List reports for a space
To return a list of all reports in a given Collection, send a GET request to the reports
resource.
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.
URL Params | ||
account required |
string |
Account (Workspace or User ) username
|
space required |
string |
Space token
|
Query Params | ||
filter |
string |
Returns a filtered list of Report s in a Space filtered by whether their created_at or updated_at timestamps are gt (greater than) or lt (less than) the datetime passed in ISO8601 format. Example: ?filter=created_at.gt.2019-10-23T06:23:01Z returns all Reports in a space created after that date.
|
order |
string |
With the order param, returns all Report s in a Space ordered in asc or desc order. Example: ?order=asc&order_by=created_at
|
order_by |
string |
With the order_by param, returns all Report s in a Space ordered by their created_at or updated_at timestamps. Example: ?order_by=created_at&order=asc
|
Responses | |
200 |
Report collection response |
401 |
Unauthorized |
404 |
Report not found |
GET
/{account}
curl --include \
--header "Content-Type: application/json" \
--header "Accept: application/hal+json" \
'https://app.mode.com/api/{account}/spaces/{space}/reports'
# Optional Query Params:
# Filter reports by when they were created or updated
# '?filter={created_at|updated_at}.{gt|lt}.{YYYY-MM-DDTHH:MM:SSZ}'
curl --include \
--header "Content-Type: application/json" \
--header "Accept: application/hal+json" \
'https://app.mode.com/api/{account}/spaces/{space}/reports?filter=created_at.gt.2019-12-19T10:21:12Z'
# Order reports by when they were created or updated
# '?order={asc|desc}&order_by={created_at|updated_at}'
curl --include \
--header "Content-Type: application/json" \
--header "Accept: application/hal+json" \
'https://app.mode.com/api/{account}/spaces/{space}/reports?order=asc&order_by=created_at'
require 'http'
username = 'your_api_key'
password = 'your_api_secret'
headers = {
content_type: 'application/json',
accept: 'application/hal+json'
}
response = HTTP.basic_auth(user: username, pass: password)
.headers(headers)
.get('https://app.mode.com/api/{account}/spaces/{space}/reports')
puts response
# Optional Query Params:
# Filter reports by when they were created or updated
# '?filter={created_at|updated_at}.{gt|lt}.{YYYY-MM-DDTHH:MM:SSZ}'
response = HTTP.basic_auth(user: username, pass: password)
.headers(headers)
.get('https://app.mode.com/api/{account}/spaces/{space}/reports?filter=created_at.gt.2019-12-19T10:21:12Z')
# Order reports by when they were created or updated
# '?order={asc|desc}&order_by={created_at|updated_at}'
response = HTTP.basic_auth(user: username, pass: password)
.headers(headers)
.get('https://app.mode.com/api/{account}/spaces/{space}/reports?order=asc&order_by=created_at')
from urllib2 import Request, urlopen
headers = {
'Content-Type': 'application/json',
'Accept': 'application/hal+json'
}
request = Request('https://app.mode.com/api/{account}/spaces/{space}/reports', headers=headers)
response_body = urlopen(request).read()
print(response_body)
# Optional Query Params:
# Filter reports by when they were created or updated
# '?filter={created_at|updated_at}.{gt|lt}.{YYYY-MM-DDTHH:MM:SSZ}'
request = Request('https://app.mode.com/api/{account}/spaces/{space}/reports?filter=created_at.gt.2019-12-19T10:21:12Z')
# Order reports by when they were created or updated
# '?order={asc|desc}&order_by={created_at|updated_at}'
request = Request('https://app.mode.com/api/{account}/spaces/{space}/reports?order=asc&order_by=created_at')
var request = new XMLHttpRequest();
request.open('GET', 'https://app.mode.com/api/{account}/spaces/{space}/reports');
request.setRequestHeader('Content-Type', 'application/json');
request.setRequestHeader('Accept', 'application/hal+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:
// Filter reports by when they were created or updated
// '?filter={created_at|updated_at}.{gt|lt}.{YYYY-MM-DDTHH:MM:SSZ}'
request.open('GET', 'https://app.mode.com/api/{account}/spaces/{space}/reports?filter=created_at.gt.2019-12-19T10:21:12Z');
// Order reports by when they were created or updated
// '?order={asc|desc}&order_by={created_at|updated_at}'
request.open('GET', 'https://app.mode.com/api/{account}/spaces/{space}/reports?order=asc&order_by=created_at');
Update a report
To update a report, send a PATCH request including the username and corresponding report token to the reports
resource.
URL Params | ||
account required |
string |
Account (Workspace or User ) username
|
report required |
string |
Report token
|
POST Body Params
Object: |
||
name |
string |
The name of the report
Example:
|
description |
string |
A description of the report in question
Example:
|
space_token |
string |
The token of the space this report will be moved to
Example:
|
Responses | |
200 |
Report response |
401 |
Unauthorized |
404 |
Report not found |
PATCH
/{account}
curl --include \
--request PATCH \
--header "Content-Type: application/json" \
--header "Accept: application/hal+json" \
--data-binary "{
\"report\": {
\"name\": \"Kanto Region Diaspora\",
\"description\": \"An analysis of all the creatures living in the region. Please contribute any missing data. Pocket version coming soon.\",
\"space_token\": \"5a4177a2902c\"
}
}" \
'https://app.mode.com/api/{account}/reports/{report}'
require 'http'
values = {
report: {
name: 'Kanto Region Diaspora',
description: 'An analysis of all the creatures living in the region. Please contribute any missing data. Pocket version coming soon.',
space_token: '5a4177a2902c'
}
}
headers = {
content_type: 'application/json',
accept: 'application/hal+json'
}
response = HTTP.basic_auth(user: username, pass: password)
.headers(headers)
.patch('https://app.mode.com/api/{account}/reports/{report}', json: values)
puts response
from urllib2 import Request, urlopen
values = """
{
"report": {
"name": "Kanto Region Diaspora",
"description": "An analysis of all the creatures living in the region. Please contribute any missing data. Pocket version coming soon.",
"space_token": "5a4177a2902c"
}
}
"""
headers = {
'Content-Type': 'application/json',
'Accept': 'application/hal+json'
}
request = Request('https://app.mode.com/api/{account}/reports/{report}', data=values, headers=headers)
request.get_method = lambda: 'PATCH'
response_body = urlopen(request).read()
print(response_body)
var request = require('request');
request({
method: 'PATCH',
url: 'https://app.mode.com/api/{account}/reports/{report}',
headers: {
'Content-Type': 'application/json',
'Accept': 'application/hal+json'
},
body: "{ \"report\": { \"name\": \"Kanto Region Diaspora\", \"description\": \"An analysis of all the creatures living in the region. Please contribute any missing data. Pocket version coming soon.\", \"space_token\": \"5a4177a2902c\" }}"
}, function (error, response, body) {
console.log('Status:', response.statusCode);
console.log('Headers:', JSON.stringify(response.headers));
console.log('Response:', body);
});
Delete a report
To remove a given report from a Collection, send a DELETE request to the reports
resource.
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.
URL Params | ||
account required |
string |
Account (Workspace or User ) username
|
report required |
string |
Report token
|
Responses | |
200 |
Empty body |
400 |
Bad request |
401 |
Unauthorized |
404 |
Report not found |
DELETE
/{account}
curl --include \
--request DELETE \
--header "Content-Type: application/json" \
--header "Accept: application/hal+json" \
'https://app.mode.com/api/{account}/reports/{report}'
require 'http'
username = 'your_api_key'
password = 'your_api_secret'
headers = {
content_type: 'application/json',
accept: 'application/hal+json'
}
response = HTTP.basic_auth(user: username, pass: password)
.headers(headers)
.delete('https://app.mode.com/api/{account}/reports/{report}')
puts response
from urllib2 import Request, urlopen
headers = {
'Content-Type': 'application/json',
'Accept': 'application/hal+json'
}
request = Request('https://app.mode.com/api/{account}/reports/{report}', headers=headers)
request.get_method = lambda: 'DELETE'
response_body = urlopen(request).read()
print(response_body)
var request = new XMLHttpRequest();
request.open('DELETE', 'https://app.mode.com/api/{account}/reports/{report}');
request.setRequestHeader('Content-Type', 'application/json');
request.setRequestHeader('Accept', 'application/hal+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();
Archive a report
To archive a report, send a PATCH request to the reports
resource at archive
. Archived Mode reports are hidden from view but still accessible to Workspace members via search or direct link.
URL Params | ||
account required |
string |
Account (Workspace or User ) username
|
report required |
string |
Report token
|
Responses | |
200 |
Report response |
400 |
Bad request |
401 |
Unauthorized |
404 |
Report not found |
PATCH
/{account}
curl --include \
--request PATCH \
--header "Content-Type: application/json" \
--header "Accept: application/hal+json" \
'https://app.mode.com/api/{account}/reports/{report}/archive'
require 'http'
username = 'your_api_key'
password = 'your_api_secret'
headers = {
content_type: 'application/json',
accept: 'application/hal+json'
}
response = HTTP.basic_auth(user: username, pass: password)
.headers(headers)
.patch('https://app.mode.com/api/{account}/reports/{report}/archive')
puts response
from urllib2 import Request, urlopen
headers = {
'Content-Type': 'application/json',
'Accept': 'application/hal+json'
}
request = Request('https://app.mode.com/api/{account}/reports/{report}/archive', headers=headers)
request.get_method = lambda: 'PATCH'
response_body = urlopen(request).read()
print(response_body)
var request = require('request');
request({
method: 'PATCH',
url: 'https://app.mode.com/api/{account}/reports/{report}/archive',
headers: {
'Content-Type': 'application/json',
'Accept': 'application/hal+json'
}}, function (error, response, body) {
console.log('Status:', response.statusCode);
console.log('Headers:', JSON.stringify(response.headers));
console.log('Response:', body);
});
Purge all report results
This POST request will purge all report
results. It will not remove the report
resources. When viewing a report that has been purged, an error will display until the report is run again. This action is irreversible.
time
is a required query parameter. It must be a string formatted as “YYYY-MM-DD” and must represent a date at least 1 day in the past. When this endpoint is called, all report
results that are incomplete or were completed before the specified date will be purged.
URL Params | ||
account required |
string |
Account (Workspace or User ) username
|
Query Params | ||
time required |
date | All records older than the date ("YYYY-MM-DD") which should be purged. |
end_time |
date |
Purge records up to and including the end date ("YYYY-MM-DD"). Purging a large number of reports can result in error, so use the end_time to break up the purging into smaller requests.
|
in_progress |
boolean |
Includes reports that are already in the process of purging. Defaults to true .
|
Responses | |
202 |
Accepted |
400 |
Bad request |
401 |
Unauthorized |
404 |
Account not found |
POST
/{account}
# Required Params: `time`
# time=2019-06-14
# expects a string of formatted to "YYYY-MM-DD"
curl --include \
--request POST \
--header "Content-Type: application/json" \
--header "Accept: application/hal+json" \
--data-binary "{
\"time\": \"2019-06-14\"
}" \
'https://app.mode.com/api/{account}/reports/purge'
require 'http'
username = 'your_api_key'
password = 'your_api_secret'
# Required Params: `time`
# time=2019-06-14
# expects a string of formatted to "YYYY-MM-DD"
values = {
time: "2019-06-14"
}
headers = {
content_type: 'application/json',
accept: 'application/hal+json'
}
response = HTTP.basic_auth(user: username, pass: password)
.headers(headers)
.post('https://app.mode.com/api/{account}/reports/purge', json: values)
puts response
from urllib2 import Request, urlopen
# Required Params: `time`
# time=2019-06-14
# expects a string of formatted to "YYYY-MM-DD"
values = """
{
"time": "2019-06-14"
}
"""
headers = {
'Content-Type': 'application/json',
'Accept': 'application/hal+json'
}
request = Request('https://app.mode.com/api/{account}/reports/purge', data=values, headers=headers)
response_body = urlopen(request).read()
print(response_body)
var request = require('request');
// Required Query Params: `time`
// ?time=2019-06-14
// expects a string of formatted to "YYYY-MM-DD"
request({
method: 'POST',
url: 'https://app.mode.com/api/{account}/reports/purge?time=2019-06-14',
headers: {
'Content-Type': 'application/json',
'Accept': 'application/hal+json'
},
body: "{ \"time\": \"2019-06-14\" }"
}, function (error, response, body) {
console.log('Status:', response.statusCode);
console.log('Headers:', JSON.stringify(response.headers));
console.log('Response:', body);
});
Unarchive a report
To unarchive a report, send a PATCH request to the reports
resource and the unarchive
action.
URL Params | ||
account required |
string |
Account (Workspace or User ) username
|
report required |
string |
Report token
|
Responses | |
200 |
Report response |
400 |
Bad request |
401 |
Unauthorized |
404 |
Report not found |
PATCH
/{account}
curl --include \
--request PATCH \
--header "Content-Type: application/json" \
--header "Accept: application/hal+json" \
'https://app.mode.com/api/{account}/reports/{report}/unarchive'
require 'http'
username = 'your_api_key'
password = 'your_api_secret'
headers = {
content_type: 'application/json',
accept: 'application/hal+json'
}
response = HTTP.basic_auth(user: username, pass: password)
.headers(headers)
.patch('https://app.mode.com/api/{account}/reports/{report}/unarchive')
puts response
from urllib2 import Request, urlopen
headers = {
'Content-Type': 'application/json',
'Accept': 'application/hal+json'
}
request = Request('https://app.mode.com/api/{account}/reports/{report}/unarchive', headers=headers)
request.get_method = lambda: 'PATCH'
response_body = urlopen(request).read()
print(response_body)
var request = require('request');
request({
method: 'PATCH',
url: 'https://app.mode.com/api/{account}/reports/{report}/unarchive',
headers: {
'Content-Type': 'application/json',
'Accept': 'application/hal+json'
}}, function (error, response, body) {
console.log('Status:', response.statusCode);
console.log('Headers:', JSON.stringify(response.headers));
console.log('Response:', body);
});