List specs
curl --request GET \
--url https://api.pre.dev/list-specs \
--header 'Authorization: Bearer <token>'import requests
url = "https://api.pre.dev/list-specs"
headers = {"Authorization": "Bearer <token>"}
response = requests.get(url, headers=headers)
print(response.text)const options = {method: 'GET', headers: {Authorization: 'Bearer <token>'}};
fetch('https://api.pre.dev/list-specs', 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.pre.dev/list-specs",
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://api.pre.dev/list-specs"
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://api.pre.dev/list-specs")
.header("Authorization", "Bearer <token>")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.pre.dev/list-specs")
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{
"specs": [
{
"_id": "507f1f77bcf86cd799439011",
"endpoint": "fast_spec",
"status": "completed",
"success": true,
"input": "Build a team task manager with projects, assignees, and due dates."
}
],
"total": 1,
"hasMore": false
}Specs (Architect)
List specifications
Browse specification summaries with filters and offset pagination.
GET
/
list-specs
List specs
curl --request GET \
--url https://api.pre.dev/list-specs \
--header 'Authorization: Bearer <token>'import requests
url = "https://api.pre.dev/list-specs"
headers = {"Authorization": "Bearer <token>"}
response = requests.get(url, headers=headers)
print(response.text)const options = {method: 'GET', headers: {Authorization: 'Bearer <token>'}};
fetch('https://api.pre.dev/list-specs', 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.pre.dev/list-specs",
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://api.pre.dev/list-specs"
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://api.pre.dev/list-specs")
.header("Authorization", "Bearer <token>")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.pre.dev/list-specs")
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{
"specs": [
{
"_id": "507f1f77bcf86cd799439011",
"endpoint": "fast_spec",
"status": "completed",
"success": true,
"input": "Build a team task manager with projects, assignees, and due dates."
}
],
"total": 1,
"hasMore": false
}Results are sorted newest first. Use
The response contains
Each status has an example body in the response examples. See errors and retries.
limit (default 20, maximum 100), skip (default 0), and optional endpoint or status filters.
curl --fail-with-body 'https://api.pre.dev/list-specs?limit=20&skip=0&status=completed' \
-H "Authorization: Bearer $PREDEV_API_KEY"
specs, total, and hasMore. Increase skip by your page size while hasMore is true.
Summaries and full results
Entries include_id, created, input, endpoint, status, available download links, and other summary metadata. They do not include full Markdown/JSON bodies, graph data, or live progress messages. Retrieve a specific entry with spec status before reading its artifacts.
Supported endpoints are fast_spec and deep_spec; supported statuses are pending, processing, completed, and failed. Unknown filter values are ignored. Use search to match text in the original input.
Errors
| Status | When |
|---|---|
401 | Missing or invalid key, or a personal key without a paid plan |
500 | Unexpected error |
Authorizations
apiKeyAuthxApiKey
Your pre.dev workspace API key (pdk_...) from Integrations, Built-in tab: https://pre.dev/projects/integrations?tab=built-in
Query Parameters
Required range:
1 <= x <= 100Required range:
x >= 0Available options:
fast_spec, deep_spec Available options:
pending, processing, completed, failed Was this page helpful?

