curl --request POST \
--url https://api.hubapi.com/analytics/reporting/2027-03-beta/reports/batch/restore \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '
{
"inputs": [
"<string>"
]
}
'import requests
url = "https://api.hubapi.com/analytics/reporting/2027-03-beta/reports/batch/restore"
payload = { "inputs": ["<string>"] }
headers = {
"Authorization": "Bearer <token>",
"Content-Type": "application/json"
}
response = requests.post(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'POST',
headers: {Authorization: 'Bearer <token>', 'Content-Type': 'application/json'},
body: JSON.stringify({inputs: ['<string>']})
};
fetch('https://api.hubapi.com/analytics/reporting/2027-03-beta/reports/batch/restore', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://api.hubapi.com/analytics/reporting/2027-03-beta/reports/batch/restore",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "POST",
CURLOPT_POSTFIELDS => json_encode([
'inputs' => [
'<string>'
]
]),
CURLOPT_HTTPHEADER => [
"Authorization: Bearer <token>",
"Content-Type: application/json"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"strings"
"net/http"
"io"
)
func main() {
url := "https://api.hubapi.com/analytics/reporting/2027-03-beta/reports/batch/restore"
payload := strings.NewReader("{\n \"inputs\": [\n \"<string>\"\n ]\n}")
req, _ := http.NewRequest("POST", url, payload)
req.Header.Add("Authorization", "Bearer <token>")
req.Header.Add("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.post("https://api.hubapi.com/analytics/reporting/2027-03-beta/reports/batch/restore")
.header("Authorization", "Bearer <token>")
.header("Content-Type", "application/json")
.body("{\n \"inputs\": [\n \"<string>\"\n ]\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.hubapi.com/analytics/reporting/2027-03-beta/reports/batch/restore")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["Authorization"] = 'Bearer <token>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"inputs\": [\n \"<string>\"\n ]\n}"
response = http.request(request)
puts response.read_body{
"completedAt": "2023-11-07T05:31:56Z",
"results": [
{
"archived": true,
"businessUnitId": "<string>",
"createdAt": "2023-11-07T05:31:56Z",
"id": "<string>",
"name": "<string>",
"updatedAt": "2023-11-07T05:31:56Z",
"archivedAt": "2023-11-07T05:31:56Z",
"createdByUserId": "<string>",
"description": "<string>",
"lastViewedAt": "2023-11-07T05:31:56Z",
"lastViewedByUserId": "<string>",
"ownerUserId": "<string>",
"permissions": {
"permissionType": "EVERYONE_EDIT",
"specificPermissions": {
"permissionType": "EDIT",
"grants": [
{
"grantType": "TEAM",
"granteeId": "<string>"
}
]
}
},
"tags": [
{
"id": "<string>",
"name": "<string>",
"createdAt": "2023-11-07T05:31:56Z",
"createdByUserId": "<string>",
"updatedAt": "2023-11-07T05:31:56Z",
"updatedByUserId": "<string>"
}
],
"updatedByUserId": "<string>"
}
],
"startedAt": "2023-11-07T05:31:56Z",
"status": "CANCELED",
"links": {},
"requestedAt": "2023-11-07T05:31:56Z"
}{
"completedAt": "2023-11-07T05:31:56Z",
"results": [
{
"archived": true,
"businessUnitId": "<string>",
"createdAt": "2023-11-07T05:31:56Z",
"id": "<string>",
"name": "<string>",
"updatedAt": "2023-11-07T05:31:56Z",
"archivedAt": "2023-11-07T05:31:56Z",
"createdByUserId": "<string>",
"description": "<string>",
"lastViewedAt": "2023-11-07T05:31:56Z",
"lastViewedByUserId": "<string>",
"ownerUserId": "<string>",
"permissions": {
"permissionType": "EVERYONE_EDIT",
"specificPermissions": {
"permissionType": "EDIT",
"grants": [
{
"grantType": "TEAM",
"granteeId": "<string>"
}
]
}
},
"tags": [
{
"id": "<string>",
"name": "<string>",
"createdAt": "2023-11-07T05:31:56Z",
"createdByUserId": "<string>",
"updatedAt": "2023-11-07T05:31:56Z",
"updatedByUserId": "<string>"
}
],
"updatedByUserId": "<string>"
}
],
"startedAt": "2023-11-07T05:31:56Z",
"status": "CANCELED",
"errors": [
{
"category": "<string>",
"context": {},
"errors": [
{
"message": "<string>",
"code": "<string>",
"context": "{missingScopes=[scope1, scope2]}",
"in": "<string>",
"subCategory": "<string>"
}
],
"links": {},
"message": "<string>",
"status": "<string>",
"id": "<string>",
"subCategory": {}
}
],
"links": {},
"numErrors": 123,
"requestedAt": "2023-11-07T05:31:56Z"
}{
"message": "Invalid input (details will vary based on the error)",
"correlationId": "aeb5f871-7f07-4993-9211-075dc63e7cbf",
"category": "VALIDATION_ERROR",
"links": {
"knowledge-base": "https://www.hubspot.com/products/service/knowledge-base"
}
}Batch restore reports
Restores one or more archived reports. Already-active reports are silently ignored. The maximum batch size is 500.
If any of the requested items fail, the response code will be 207 Multi-Status and the response will include details of individual failures.
curl --request POST \
--url https://api.hubapi.com/analytics/reporting/2027-03-beta/reports/batch/restore \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '
{
"inputs": [
"<string>"
]
}
'import requests
url = "https://api.hubapi.com/analytics/reporting/2027-03-beta/reports/batch/restore"
payload = { "inputs": ["<string>"] }
headers = {
"Authorization": "Bearer <token>",
"Content-Type": "application/json"
}
response = requests.post(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'POST',
headers: {Authorization: 'Bearer <token>', 'Content-Type': 'application/json'},
body: JSON.stringify({inputs: ['<string>']})
};
fetch('https://api.hubapi.com/analytics/reporting/2027-03-beta/reports/batch/restore', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://api.hubapi.com/analytics/reporting/2027-03-beta/reports/batch/restore",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "POST",
CURLOPT_POSTFIELDS => json_encode([
'inputs' => [
'<string>'
]
]),
CURLOPT_HTTPHEADER => [
"Authorization: Bearer <token>",
"Content-Type: application/json"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"strings"
"net/http"
"io"
)
func main() {
url := "https://api.hubapi.com/analytics/reporting/2027-03-beta/reports/batch/restore"
payload := strings.NewReader("{\n \"inputs\": [\n \"<string>\"\n ]\n}")
req, _ := http.NewRequest("POST", url, payload)
req.Header.Add("Authorization", "Bearer <token>")
req.Header.Add("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.post("https://api.hubapi.com/analytics/reporting/2027-03-beta/reports/batch/restore")
.header("Authorization", "Bearer <token>")
.header("Content-Type", "application/json")
.body("{\n \"inputs\": [\n \"<string>\"\n ]\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.hubapi.com/analytics/reporting/2027-03-beta/reports/batch/restore")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["Authorization"] = 'Bearer <token>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"inputs\": [\n \"<string>\"\n ]\n}"
response = http.request(request)
puts response.read_body{
"completedAt": "2023-11-07T05:31:56Z",
"results": [
{
"archived": true,
"businessUnitId": "<string>",
"createdAt": "2023-11-07T05:31:56Z",
"id": "<string>",
"name": "<string>",
"updatedAt": "2023-11-07T05:31:56Z",
"archivedAt": "2023-11-07T05:31:56Z",
"createdByUserId": "<string>",
"description": "<string>",
"lastViewedAt": "2023-11-07T05:31:56Z",
"lastViewedByUserId": "<string>",
"ownerUserId": "<string>",
"permissions": {
"permissionType": "EVERYONE_EDIT",
"specificPermissions": {
"permissionType": "EDIT",
"grants": [
{
"grantType": "TEAM",
"granteeId": "<string>"
}
]
}
},
"tags": [
{
"id": "<string>",
"name": "<string>",
"createdAt": "2023-11-07T05:31:56Z",
"createdByUserId": "<string>",
"updatedAt": "2023-11-07T05:31:56Z",
"updatedByUserId": "<string>"
}
],
"updatedByUserId": "<string>"
}
],
"startedAt": "2023-11-07T05:31:56Z",
"status": "CANCELED",
"links": {},
"requestedAt": "2023-11-07T05:31:56Z"
}{
"completedAt": "2023-11-07T05:31:56Z",
"results": [
{
"archived": true,
"businessUnitId": "<string>",
"createdAt": "2023-11-07T05:31:56Z",
"id": "<string>",
"name": "<string>",
"updatedAt": "2023-11-07T05:31:56Z",
"archivedAt": "2023-11-07T05:31:56Z",
"createdByUserId": "<string>",
"description": "<string>",
"lastViewedAt": "2023-11-07T05:31:56Z",
"lastViewedByUserId": "<string>",
"ownerUserId": "<string>",
"permissions": {
"permissionType": "EVERYONE_EDIT",
"specificPermissions": {
"permissionType": "EDIT",
"grants": [
{
"grantType": "TEAM",
"granteeId": "<string>"
}
]
}
},
"tags": [
{
"id": "<string>",
"name": "<string>",
"createdAt": "2023-11-07T05:31:56Z",
"createdByUserId": "<string>",
"updatedAt": "2023-11-07T05:31:56Z",
"updatedByUserId": "<string>"
}
],
"updatedByUserId": "<string>"
}
],
"startedAt": "2023-11-07T05:31:56Z",
"status": "CANCELED",
"errors": [
{
"category": "<string>",
"context": {},
"errors": [
{
"message": "<string>",
"code": "<string>",
"context": "{missingScopes=[scope1, scope2]}",
"in": "<string>",
"subCategory": "<string>"
}
],
"links": {},
"message": "<string>",
"status": "<string>",
"id": "<string>",
"subCategory": {}
}
],
"links": {},
"numErrors": 123,
"requestedAt": "2023-11-07T05:31:56Z"
}{
"message": "Invalid input (details will vary based on the error)",
"correlationId": "aeb5f871-7f07-4993-9211-075dc63e7cbf",
"category": "VALIDATION_ERROR",
"links": {
"knowledge-base": "https://www.hubspot.com/products/service/knowledge-base"
}
}Supported products
Supported products
Required Scopes
Required Scopes
Authorizations
The access token received from the authorization server in the OAuth 2.0 flow.
Body
Array of report or dashboard IDs.
Response
successful operation
The date and time when the batch operation was completed, in ISO 8601 format.
An array of report objects representing the successful results of the batch operation.
Show child attributes
Show child attributes
The date and time when the batch operation started, in ISO 8601 format.
The current status of the batch operation. Valid values include 'PENDING', 'PROCESSING', 'CANCELED', and 'COMPLETE'.
CANCELED, COMPLETE, PENDING, PROCESSING A map of link names to associated URIs, providing additional resources or documentation related to the batch operation.
Show child attributes
Show child attributes
The date and time when the batch operation was requested, in ISO 8601 format.
Was this page helpful?