Skip to main content

Specs (Architect)

List specifications

Browse specification summaries with filters and offset pagination.

gethttps://api.pre.dev/list-specsTry it

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

StatusWhen
401Missing or invalid key, or a personal key without a paid plan
500Unexpected 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}
GET
/list-specs

Authorization

AuthorizationBearer <token>

Your pre.dev workspace API key (pdk_...) from Integrations, Built-in tab: https://pre.dev/projects/integrations?tab=built-in

In: header

Query Parameters

limit?integer
Range1 <= value <= 100
Default20
skip?integer
Range0 <= value
Default0
endpoint?string

Value in

  • "fast_spec"
  • "deep_spec"
status?string

Value in

  • "pending"
  • "processing"
  • "completed"
  • "failed"

Response Body

application/json

Paginated spec summaries.

TypeScript Definitions

Use the response body type in TypeScript.

application/json

application/json

application/json

Was this page helpful?