Skip to main content

Confirm

Are you sure?

Retrieving results

Every request is assigned a token. Use it to fetch the result later with a single GET — handy for async jobs, and for sync requests that timed out before the work finished.

When to use it

  • In async mode, as a pull alternative to (or backup for) the webhook — poll until the result is ready.
  • After a sync request times out. A slow sync call returns 504 with the token, and the analysis keeps running in the background — retrieve it here once it's done.
GET/result/:token

Fetch a result

Path parameter

  • Name
    token
    Type
    string
    Required
    Required
    Description
    The token identifying the original request. Requests are scoped to your project, so a token from another project returns 404.

Where the token comes from

  • Async requests return it in the response body (token).
  • Sync requests return it in the X-Result-Token response header, and in the body of a 504 timeout.
GET/result/:token
curl https://urlpipe.dev/result/YOUR_TOKEN \
  -H "Authorization: Bearer YOUR_API_KEY"

Responses

The status code tells you whether the result is ready, still running, failed, or expired. On 200 the body is exactly what the original endpoint returns.

Status
When
Body
200 OK
The result is ready.
The result itself, in the operation's format (text or JSON) — identical to the sync response.
202 Accepted
Still being generated.
{ "status": "processing", "token": "…" } — poll again shortly.
422 Unprocessable Entity
The analysis ran but failed.
{ "error": "<message>" } — the same failure you'd get synchronously.
404 Not Found
No result for this token under your project.
{ "error": "not_found" }
410 Gone
The result is older than the 30-day window.
{ "error": "stale" } — run a new analysis.
401 Unauthorized
Missing or invalid API key.
Poll on 202: wait a second or two between calls. Most analyses finish within seconds — see typical times on Async & sync modes.

Retention & staleness

Results are retrievable for up to 30 days — the maximum cache window. After that, GET /result/:token returns 410 Gone with { "error": "stale" }, and you must run a new analysis to get a fresh result.

410 Gone
{
  "error": "stale",
  "message": "This result is older than the 30-day retention window. Run a new analysis."
}