Skip to main content
POST
Rate limit tier: submission (60 req/min) — see Rate limits. Parses one document fetched server-side from a URL with the platform’s fast lite parse — the URL analogue of POST /v3/parse/, backed by your organization’s system parse workflow (provisioned automatically on first use). Provide one HTTPS URL. The file is named by the response’s Content-Disposition, else by the URL’s path — see File names. The response is a run reference — poll GET /v3/runs/{run_id}/ until status is processed; the parsed markdown is at results.parse.markdown. A failed, non-2xx, or timed-out fetch surfaces as 422 with the failure reason in detail.
Parse is single-file per call — the results envelope carries the first file’s parse output. To import multiple URLs into one packet, use upload from URL and document-packets/run directly.

File names

A from-url file is named from the response, not from the request. The name matters twice: it carries the extension the import requires (a URL whose path is an opaque key, such as a presigned object GET, has none), and it is the name you and your users see everywhere the file is listed, so a file called by its storage key is a poor experience. Precedence:
  1. The Content-Disposition filename on the response (RFC 6266; filename*=UTF-8''… wins over filename=, and any path is cut to its last segment).
  2. Else the URL path’s last segment: https://example.com/invoices/april.pdf imports as april.pdf.
  3. Else the slot mint’s extension error, as today: the import fails with 422.
The header rather than a request field, because HTTP already names a downloaded file there, every object store signs it into a presigned URL, the API stays URL-only, and the name travels with its URL instead of in a parallel list that must match urls in length and order. On S3, ResponseContentDisposition signs it in:
boto3
GCS (response-content-disposition on a V4 signed URL) and Azure (rscd on a SAS) offer the same override. Whichever name applies must end in a supported extension (.pdf, .docx, .png, …): a bare key such as uploads/7c1f3e9a names the file 7c1f3e9a, which has none, and the import fails with 422. A name that collides with a file already in the parse workflow is auto-renamed (april.pdfapril (1).pdf).

Authorizations

Authorization
string
header
required

API key issued from app.anyformat.ai/api-key. Send as Authorization: Bearer <key>.

Body

application/json

Body for POST /v3/parse/from-url/.

url
string
required

HTTPS URL the backend fetches server-side. The filename is derived from the URL's path.

Example:

"https://example.com/invoices/april.pdf"

Response

Successful Response

202 response for both run triggers (upload/run/ and document-packets/{id}/run/).

run_id
string
required

Unique identifier of the new run (hyphenated UUID).

Example:

"069dcc2c-e14c-7606-8000-2ee4fb17b4f9"

document_packet_id
string
required

The document packet the run executes on (hyphenated UUID).

Example:

"069dcc2c-e14c-7606-8000-2ee4fb17b4e1"

workflow_id
string
required

The workflow being run (hyphenated UUID).

Example:

"0686bb97-8c30-70f0-8000-97669e000eb8"

status
enum<string>
required

Status at acceptance time — normally queued.

Available options:
queued,
in_progress,
processed,
error,
cancelled
Example:

"queued"