Skip to main content
GET
Get a spec
Use the specId returned by an async request. IDs are 24-character hexadecimal strings; copy the returned value rather than constructing one.

Status lifecycle

Poll at a bounded interval, for example five seconds, with an application deadline. The response identifies the request as _id, while the async submission names that value specId. progress is a percentage and progressMessage is display text. Completed requests report progress 100; a failed request can report progress 0. Progress is not a substitute for checking status.

Result fields

Full results can include both specification variants as JSON and Markdown, download URLs, graphs, technology explanations, archives, estimates, and credit usage. See inputs and outputs. Optional fields can be absent or null until their artifacts exist. A successful status lookup is HTTP 200 even when the generation status is failed. A malformed ID returns 400; a missing or inaccessible request returns 404.

Authorizations

Authorization
string
header
required

Use a pre.dev API key from https://pre.dev/projects/key.

Path Parameters

specId
string
required

24-character record ID.

Pattern: ^[a-fA-F0-9]{24}$

Response

Current spec record.

Full specification/status record. Fields may be absent or null until available. Terminal status is completed or failed. executionTime is milliseconds.

status
enum<string>
required
Available options:
pending,
processing,
completed,
failed
_id
string

24-character record ID.

Pattern: ^[a-fA-F0-9]{24}$
created
string<date-time>
endpoint
enum<string>

Which endpoint was used

Available options:
fast_spec,
deep_spec
input
string

Original input text provided

success
boolean

Whether the request succeeded

uploadedFileShortUrl
string | null

Short URL for uploaded file (if file was uploaded)

uploadedFileName
string | null

Name of uploaded file (if file was uploaded)

humanSpecUrl
string<uri> | null

URL where the human-readable spec is hosted (only when completed)

totalHumanHours
number | null

Estimated total hours for a human to implement the spec (only when completed)

architectureInfographicUrl
string<uri> | null

URL to a visual architecture infographic/diagram for the specification (only when completed)

codingAgentSpecUrl
string<uri> | null

URL where the coding agent spec format is hosted (only when completed)

codingAgentSpecJson
object | null

Structured JSON spec optimized for AI coding assistants (only when completed)

codingAgentSpecMarkdown
string | null

Markdown spec optimized for AI coding assistants (only when completed)

humanSpecJson
object | null

Full structured JSON spec with hours, personas, and roles (only when completed)

humanSpecMarkdown
string | null

Full markdown spec with all details for human review (only when completed)

executionTime
integer | null

Processing time in milliseconds (only when completed or failed)

predevUrl
string<uri> | null

pre.dev project URL (only when completed)

zippedDocsUrls
object[] | null

Array of scraped documentation archives (only when completed). Empty array if no docURLs provided or scraping fails

errorMessage
string | null

Error description (only when failed)

progress
number | null

Completion percentage (0-100) while processing

creditsUsed
number | null

Measured credit usage; estimates are not fixed charges.

userFlowGraph
object | null

User flow graph with nodes representing user stories/flows and edges showing navigation paths (only when completed)

architectureGraph
object | null

System architecture graph with C1/C2 level nodes and their relationships (only when completed)

enrichedTechStack
object[] | null

Enriched tech stack with detailed reasons, descriptions, and alternatives for each technology (only when completed)

progressMessage
string | null

Human-readable progress description (e.g. 'Generating architecture...')

currentContext
string | null

Existing context supplied with generation.

specSource
string | null

Origin of the request, such as api or mcp.

docURLs
string<uri>[] | null