curl --request GET \
--url https://devtune.ai/api/v2/projects/{projectId}/outcomes/page-tracking \
--header 'Authorization: Bearer <token>'import requests
url = "https://devtune.ai/api/v2/projects/{projectId}/outcomes/page-tracking"
headers = {"Authorization": "Bearer <token>"}
response = requests.get(url, headers=headers)
print(response.text)const options = {method: 'GET', headers: {Authorization: 'Bearer <token>'}};
fetch('https://devtune.ai/api/v2/projects/{projectId}/outcomes/page-tracking', 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://devtune.ai/api/v2/projects/{projectId}/outcomes/page-tracking",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "GET",
CURLOPT_HTTPHEADER => [
"Authorization: Bearer <token>"
],
]);
$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://devtune.ai/api/v2/projects/{projectId}/outcomes/page-tracking"
req, _ := http.NewRequest("GET", url, nil)
req.Header.Add("Authorization", "Bearer <token>")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.get("https://devtune.ai/api/v2/projects/{projectId}/outcomes/page-tracking")
.header("Authorization", "Bearer <token>")
.asString();require 'uri'
require 'net/http'
url = URI("https://devtune.ai/api/v2/projects/{projectId}/outcomes/page-tracking")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Get.new(url)
request["Authorization"] = 'Bearer <token>'
response = http.request(request)
puts response.read_body{
"data": {
"actionId": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"activePages": 1,
"reservedPages": 1,
"replacementImpact": {
"token": "<string>",
"affectedActions": [
{
"id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"title": "<string>",
"status": "<string>"
}
]
},
"configuredPageLimit": 5025,
"pageLimit": 1,
"limitSource": "plan",
"pages": [
{
"url": "<string>",
"status": "tracked"
}
],
"choices": [
{
"url": "<string>",
"state": "tracked"
}
],
"hasMoreChoices": true
},
"meta": {
"timestamp": "2023-11-07T05:31:56Z",
"projectId": "3c90c3cc-0d44-4b50-8888-8dd25736052a"
}
}{
"error": "<string>",
"message": "<string>",
"status": 123
}{
"error": "<string>",
"message": "<string>",
"status": 123
}{
"error": "<string>",
"message": "<string>",
"status": 123
}{
"error": "<string>",
"message": "<string>",
"status": 123
}Read published-page tracking status
Operational status for saved URLs. Omit actionId for project-wide tracking management. A plan limit offers upgrade or replacement; a project limit requires a settings change. Paused pages retain history. Reserved pages consume capacity before a crawl. Supply replacementUrl to review affected actions and obtain an impact token. Never interpret these states as measured zero.
curl --request GET \
--url https://devtune.ai/api/v2/projects/{projectId}/outcomes/page-tracking \
--header 'Authorization: Bearer <token>'import requests
url = "https://devtune.ai/api/v2/projects/{projectId}/outcomes/page-tracking"
headers = {"Authorization": "Bearer <token>"}
response = requests.get(url, headers=headers)
print(response.text)const options = {method: 'GET', headers: {Authorization: 'Bearer <token>'}};
fetch('https://devtune.ai/api/v2/projects/{projectId}/outcomes/page-tracking', 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://devtune.ai/api/v2/projects/{projectId}/outcomes/page-tracking",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "GET",
CURLOPT_HTTPHEADER => [
"Authorization: Bearer <token>"
],
]);
$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://devtune.ai/api/v2/projects/{projectId}/outcomes/page-tracking"
req, _ := http.NewRequest("GET", url, nil)
req.Header.Add("Authorization", "Bearer <token>")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.get("https://devtune.ai/api/v2/projects/{projectId}/outcomes/page-tracking")
.header("Authorization", "Bearer <token>")
.asString();require 'uri'
require 'net/http'
url = URI("https://devtune.ai/api/v2/projects/{projectId}/outcomes/page-tracking")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Get.new(url)
request["Authorization"] = 'Bearer <token>'
response = http.request(request)
puts response.read_body{
"data": {
"actionId": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"activePages": 1,
"reservedPages": 1,
"replacementImpact": {
"token": "<string>",
"affectedActions": [
{
"id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"title": "<string>",
"status": "<string>"
}
]
},
"configuredPageLimit": 5025,
"pageLimit": 1,
"limitSource": "plan",
"pages": [
{
"url": "<string>",
"status": "tracked"
}
],
"choices": [
{
"url": "<string>",
"state": "tracked"
}
],
"hasMoreChoices": true
},
"meta": {
"timestamp": "2023-11-07T05:31:56Z",
"projectId": "3c90c3cc-0d44-4b50-8888-8dd25736052a"
}
}{
"error": "<string>",
"message": "<string>",
"status": 123
}{
"error": "<string>",
"message": "<string>",
"status": 123
}{
"error": "<string>",
"message": "<string>",
"status": 123
}{
"error": "<string>",
"message": "<string>",
"status": 123
}Authorizations
API key with dtk_live_ prefix. Obtain it from API Keys in the account sidebar. New keys start with all supported scopes selected for the chosen project, and you can narrow them to specific read/write scopes as needed.
Path Parameters
Query Parameters
Page being considered for pausing; returns affected actions and an impact token.
Empty to browse; otherwise at least three characters.
200Last choice URL from the previous page for cursor pagination.
20480 <= x <= 10000