Endpoint #
POST https://pixlab.davix.dev/v1/pdf
Action #
action=extract
Description #
The Extract Pages from PDF action extracts selected pages from a PDF document and generates a new PDF containing only those pages using the H2I engine (PixLab).
This action is part of the public /v1/pdf API surface. It accepts a source PDF and returns a generated PDF output containing the extracted pages. The output file is returned through a signed URL under the public PDF output path.
This action is suitable for workflows such as:
- extracting specific sections from documents
- creating smaller PDFs for distribution
- splitting documents for automated workflows
Request Format #
Requests to /v1/pdf must use:
Content-Type: multipart/form-data- API key authentication in request headers
- source PDF upload through the
filesfield
For non-merge PDF actions, the first uploaded PDF file is used as the primary input. This applies to action=extract.
Parameters #
action #
Type: string
Required: Yes
Accepted value: extract
Specifies that the request should extract selected pages from the PDF document.
files #
Type: file upload (multipart/form-data)
Required: Yes
The source PDF document.
- uploaded through the
filesfield - must be a valid PDF upload
- for this action, the first uploaded PDF file is used as the source input
pages #
Type: string
Required: Conditional
Default: all
Specifies which pages should be extracted.
Supported forms:
allfirst- single page such as
1 - multiple pages such as
1,3,5 - ranges such as
2-6
The public /v1/pdf reference uses the shared page-selector parser for extract, with values parsed and clamped to the document page count.
Supported Parameters #
The Extract Pages from PDF action supports the following public parameters:
| Parameter | Description |
|---|---|
action | Must be extract |
files | Source PDF upload |
pages | Page selector for extraction |
These are the documented public parameters for /v1/pdf action=extract.
Full cURL Example #
curl -sS -X POST "https://pixlab.davix.dev/v1/pdf" \
-H "X-Api-Key: <YOUR_API_KEY>" \
-H "Idempotency-Key: pdf-extract-pages-001" \
-F "action=extract" \
-F "files=@/path/to/document.pdf" \
-F "pages=3-5"
This example includes the full documented public parameter surface for the Extract Pages from PDF action:
action=extract- source PDF upload in
files pages- optional idempotency header
Success Response #
Successful /v1/pdf requests return either a single output object or a results array, depending on the action. For public documentation, action=extract is safest documented as a single generated PDF output returned through a signed URL. PDF output URLs are served under /pdf/<file>.
{
"url": "https://pixlab.davix.dev/pdf/extracted-pages.pdf",
"request_id": "req_abc123"
}
Response Fields #
url #
Signed output URL for the generated extracted-pages PDF. PDF outputs are served under the public /pdf/<file> path.
request_id #
Request identifier returned by the API when available.
Errors #
The public /v1/pdf endpoint documents the following PDF-route errors:
missing_fieldinvalid_parameterunsupported_media_typepdf_page_limit_exceededrate_limit_exceededrate_limit_store_unavailablemonthly_quota_exceededserver_busytimeoutpdf_tool_failed
The shared upload/error layer can also return:
invalid_uploadfile_too_largetoo_many_filestotal_upload_exceeded
HTTP Status Codes #
400→ invalid request fields or parameters413→ upload size/count limits exceeded or other request-size-related PDF limits415→ unsupported media type429→ rate limit or monthly quota exceeded503→ timeout, rate-limit store unavailable, or server busy500→ PDF processing failure
Usage Notes #
Idempotency-Key is optional and supported for retry-safe request handling. Both Idempotency-Key and X-Idempotency-Key are accepted.
pages selects which pages are included in the generated output PDF.
The output is a new PDF document returned through a signed URL under the public PDF output path.
Output URLs are not intended to be permanent storage. Applications that need long-term storage should store generated files externally.
