Get presentation status
curl --request GET \
--url https://app.demand-iq.com/api/presentations/{presentationId}/statusimport requests
url = "https://app.demand-iq.com/api/presentations/{presentationId}/status"
response = requests.get(url)
print(response.text)const options = {method: 'GET'};
fetch('https://app.demand-iq.com/api/presentations/{presentationId}/status', 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://app.demand-iq.com/api/presentations/{presentationId}/status",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "GET",
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"net/http"
"io"
)
func main() {
url := "https://app.demand-iq.com/api/presentations/{presentationId}/status"
req, _ := http.NewRequest("GET", url, nil)
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.get("https://app.demand-iq.com/api/presentations/{presentationId}/status")
.asString();require 'uri'
require 'net/http'
url = URI("https://app.demand-iq.com/api/presentations/{presentationId}/status")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Get.new(url)
response = http.request(request)
puts response.read_body{
"id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"status": "not_started",
"phase": "measuring",
"current_slide": 123,
"total_slides": 123,
"deck_id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"created_at": "2023-11-07T05:31:56Z",
"updated_at": "2023-11-07T05:31:56Z",
"generation_started_at": "2023-11-07T05:31:56Z",
"measurement_status": "<string>",
"measurement_request_id": "<string>"
}{
"error": "<string>"
}{
"error": "<string>"
}{
"error": "<string>"
}Presentations
Get presentation status
Returns the current generation status, phase, and the slide generation is working on. current_slide counts from 1 and can jump, since slides with nothing to personalize are skipped.
GET
/
api
/
presentations
/
{presentationId}
/
status
Get presentation status
curl --request GET \
--url https://app.demand-iq.com/api/presentations/{presentationId}/statusimport requests
url = "https://app.demand-iq.com/api/presentations/{presentationId}/status"
response = requests.get(url)
print(response.text)const options = {method: 'GET'};
fetch('https://app.demand-iq.com/api/presentations/{presentationId}/status', 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://app.demand-iq.com/api/presentations/{presentationId}/status",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "GET",
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"net/http"
"io"
)
func main() {
url := "https://app.demand-iq.com/api/presentations/{presentationId}/status"
req, _ := http.NewRequest("GET", url, nil)
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.get("https://app.demand-iq.com/api/presentations/{presentationId}/status")
.asString();require 'uri'
require 'net/http'
url = URI("https://app.demand-iq.com/api/presentations/{presentationId}/status")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Get.new(url)
response = http.request(request)
puts response.read_body{
"id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"status": "not_started",
"phase": "measuring",
"current_slide": 123,
"total_slides": 123,
"deck_id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"created_at": "2023-11-07T05:31:56Z",
"updated_at": "2023-11-07T05:31:56Z",
"generation_started_at": "2023-11-07T05:31:56Z",
"measurement_status": "<string>",
"measurement_request_id": "<string>"
}{
"error": "<string>"
}{
"error": "<string>"
}{
"error": "<string>"
}Path Parameters
UUID of the presentation
Response
Presentation status
Available options:
not_started, pending, generating, ready, failed, missing_data What generation is doing right now. measuring means AI Presentations is fetching roof measurements; no slide count is reported during this phase.
Available options:
measuring, analyzing, generating, preparing The slide generation is currently personalizing, counting from 1. Can jump, since slides with nothing to personalize are skipped. Omitted until generation reports slide progress.
Total number of slides being generated. Omitted until generation reports slide progress.