Specs (Architect)
List specifications
Browse specification summaries with filters and offset pagination.
Results are sorted newest first. Use 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"The response contains 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 |
Each status has an example body in the response examples. See errors and retries.
curl -X GET "https://api.pre.dev/list-specs"fetch("https://api.pre.dev/list-specs", { method: "GET"})package mainimport ( "fmt" "net/http" "io/ioutil")func main() { url := "https://api.pre.dev/list-specs" req, _ := http.NewRequest("GET", url, nil) res, _ := http.DefaultClient.Do(req) defer res.Body.Close() body, _ := ioutil.ReadAll(res.Body) fmt.Println(res) fmt.Println(string(body))}import requestsurl = "https://api.pre.dev/list-specs"response = requests.request("GET", url)print(response.text)import java.net.URI;import java.net.http.HttpClient;import java.net.http.HttpRequest;import java.net.http.HttpResponse;import java.net.http.HttpResponse.BodyHandlers;import java.time.Duration;HttpClient client = HttpClient.newBuilder() .connectTimeout(Duration.ofSeconds(10)) .build();HttpRequest.Builder requestBuilder = HttpRequest.newBuilder() .uri(URI.create("https://api.pre.dev/list-specs")) .GET() .build();try { HttpResponse<String> response = client.send(requestBuilder.build(), BodyHandlers.ofString()); System.out.println("Status code: " + response.statusCode()); System.out.println("Response body: " + response.body());} catch (Exception e) { e.printStackTrace();}using System;using System.Net.Http;using System.Text;var client = new HttpClient();var response = await client.GetAsync("https://api.pre.dev/list-specs");var responseBody = await response.Content.ReadAsStringAsync();use reqwest::{Result, Client};async fn main() -> Result<()> { let client = Client::new(); let url = "https://api.pre.dev/list-specs"; let res = client .get(url) .send() .await? .text() .await?; println!("{}", res); Ok(())}{ "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}Your pre.dev workspace API key (pdk_...) from Integrations, Built-in tab: https://pre.dev/projects/integrations?tab=built-in
In: header
Query Parameters
1 <= value <= 100200 <= value0Value in
- "fast_spec"
- "deep_spec"
Value in
- "pending"
- "processing"
- "completed"
- "failed"
Response Body
application/json
Paginated spec summaries.
TypeScript Definitions
Use the response body type in TypeScript.
application/json
Missing, invalid, or ineligible authentication.
TypeScript Definitions
Use the response body type in TypeScript.
application/json
Access or trial eligibility denied.
TypeScript Definitions
Use the response body type in TypeScript.
application/json
Request failed.
TypeScript Definitions
Use the response body type in TypeScript.