curl --request GET \
--url https://api.tastelabs.com/design/submissions \
--header 'X-API-Key: <api-key>'import requests
url = "https://api.tastelabs.com/design/submissions"
headers = {"X-API-Key": "<api-key>"}
response = requests.get(url, headers=headers)
print(response.text)const options = {method: 'GET', headers: {'X-API-Key': '<api-key>'}};
fetch('https://api.tastelabs.com/design/submissions', 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.tastelabs.com/design/submissions",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "GET",
CURLOPT_HTTPHEADER => [
"X-API-Key: <api-key>"
],
]);
$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://api.tastelabs.com/design/submissions"
req, _ := http.NewRequest("GET", url, nil)
req.Header.Add("X-API-Key", "<api-key>")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.get("https://api.tastelabs.com/design/submissions")
.header("X-API-Key", "<api-key>")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.tastelabs.com/design/submissions")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Get.new(url)
request["X-API-Key"] = '<api-key>'
response = http.request(request)
puts response.read_body{
"submissions": [
{
"submission_id": "<string>",
"status": "accepted",
"source_url": "<string>",
"is_public": true,
"current_step": "<string>",
"step_started_at": "2023-11-07T05:31:56Z",
"updated_at": "2023-11-07T05:31:56Z",
"cache_hit": true,
"extraction_id": "<string>",
"accepted_at": "2023-11-07T05:31:56Z",
"completed_at": "2023-11-07T05:31:56Z",
"error": "<string>",
"credits_consumed": 123,
"credit_ref_id": "<string>",
"api_key_name": "<string>",
"batch_id": "<string>",
"batch_label": "<string>"
}
],
"total": 123,
"limit": 123,
"offset": 123,
"totals": {
"completed": 123,
"failed": 123,
"in_progress": 123
}
}{
"detail": {
"error": "UNAUTHORIZED",
"message": "Bearer token or X-API-Key required"
}
}{
"detail": {
"error": "FORBIDDEN",
"message": "This key is not allowed to call this endpoint."
}
}"Internal Server Error"List submissions
Returns a paginated list of your submissions, newest first, deduplicated by URL. Filter by status, by the API key that created them, or by batch, and search by URL with q.
Alongside the page, total counts everything matching the filter and totals breaks that down into completed, failed, and in_progress.
curl --request GET \
--url https://api.tastelabs.com/design/submissions \
--header 'X-API-Key: <api-key>'import requests
url = "https://api.tastelabs.com/design/submissions"
headers = {"X-API-Key": "<api-key>"}
response = requests.get(url, headers=headers)
print(response.text)const options = {method: 'GET', headers: {'X-API-Key': '<api-key>'}};
fetch('https://api.tastelabs.com/design/submissions', 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.tastelabs.com/design/submissions",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "GET",
CURLOPT_HTTPHEADER => [
"X-API-Key: <api-key>"
],
]);
$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://api.tastelabs.com/design/submissions"
req, _ := http.NewRequest("GET", url, nil)
req.Header.Add("X-API-Key", "<api-key>")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.get("https://api.tastelabs.com/design/submissions")
.header("X-API-Key", "<api-key>")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.tastelabs.com/design/submissions")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Get.new(url)
request["X-API-Key"] = '<api-key>'
response = http.request(request)
puts response.read_body{
"submissions": [
{
"submission_id": "<string>",
"status": "accepted",
"source_url": "<string>",
"is_public": true,
"current_step": "<string>",
"step_started_at": "2023-11-07T05:31:56Z",
"updated_at": "2023-11-07T05:31:56Z",
"cache_hit": true,
"extraction_id": "<string>",
"accepted_at": "2023-11-07T05:31:56Z",
"completed_at": "2023-11-07T05:31:56Z",
"error": "<string>",
"credits_consumed": 123,
"credit_ref_id": "<string>",
"api_key_name": "<string>",
"batch_id": "<string>",
"batch_label": "<string>"
}
],
"total": 123,
"limit": 123,
"offset": 123,
"totals": {
"completed": 123,
"failed": 123,
"in_progress": 123
}
}{
"detail": {
"error": "UNAUTHORIZED",
"message": "Bearer token or X-API-Key required"
}
}{
"detail": {
"error": "FORBIDDEN",
"message": "This key is not allowed to call this endpoint."
}
}"Internal Server Error"Authorizations
API key issued by the Taste Engine. Create one in the dashboard at https://engine.tastelabs.com/app/api-keys.
Query Parameters
Filter results to a single status. Lifecycle status of a submission.
accepted, queued, crawling, extracting, completed, failed Free-text search over the source URL. Returns only submissions whose URL contains this substring (case-insensitive).
Return only submissions created with this API key.
Return only submissions from this batch run.
Maximum number of submissions to return.
1 <= x <= 100Number of submissions to skip, for pagination.
x >= 0Response
A page of submissions.
Show child attributes
Show child attributes
Total submissions matching the filter.
Counts by outcome across everything matching the filter, ignoring pagination. The four in-progress statuses fold into in_progress, so the three buckets sum to total.
Show child attributes
Show child attributes
Was this page helpful?

