Delete PDF Pages

Endpoint #

POST https://pixlab.davix.dev/v1/pdf

Action #

action=delete-pages

Description #

The Delete PDF Pages action removes selected pages from a PDF document using the H2I engine (PixLab).

This action is part of the public /v1/pdf API surface. It accepts a source PDF, removes the selected pages, and returns an updated PDF output through a signed URL under the public PDF output path.

This action is suitable for workflows such as:

  • removing unwanted pages
  • cleaning documents before sharing
  • preparing files for further processing

Request Format #

Requests to /v1/pdf must use:

  • Content-Type: multipart/form-data
  • API key authentication in request headers
  • source PDF upload through the files field

For non-merge PDF actions, the first uploaded PDF file is used as the primary input. This applies to action=delete-pages.

Parameters #

action #

Type: string
Required: Yes
Accepted value: delete-pages

Specifies that the request should remove selected pages from the PDF document.

files #

Type: file upload (multipart/form-data)
Required: Yes

The source PDF document.

  • uploaded through the files field
  • must be a valid PDF upload
  • for this action, the first uploaded PDF file is used as the source input

pages #

Type: string
Required: No

Specifies which pages should be removed.

Supported forms:

  • first
  • single page such as 1
  • multiple pages such as 1,3,5
  • ranges such as 2-6

Constraints:

  • uses the shared page selector syntax
  • cannot delete all pages

Because this action cannot delete all pages, using a selector that would remove every page results in validation failure.

Supported Parameters #

The Delete PDF Pages action supports the following public parameters:

ParameterDescription
actionMust be delete-pages
filesSource PDF upload
pagesPage selector for pages to remove

These are the documented public parameters for /v1/pdf action=delete-pages.

Full cURL Example #

curl -sS -X POST "https://pixlab.davix.dev/v1/pdf" \
-H "X-Api-Key: <YOUR_API_KEY>" \
-H "Idempotency-Key: pdf-delete-pages-001" \
-F "action=delete-pages" \
-F "files=@/path/to/document.pdf" \
-F "pages=2-4"

This example includes the full documented public parameter surface for the Delete PDF Pages action:

  • action=delete-pages
  • 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=delete-pages 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/updated-document.pdf",
"request_id": "req_abc123"
}

Response Fields #

url #

Signed output URL for the generated PDF after page deletion. 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_field
  • invalid_parameter
  • unsupported_media_type
  • pdf_page_limit_exceeded
  • rate_limit_exceeded
  • rate_limit_store_unavailable
  • monthly_quota_exceeded
  • server_busy
  • timeout
  • pdf_tool_failed

The shared upload/error layer can also return:

  • invalid_upload
  • file_too_large
  • too_many_files
  • total_upload_exceeded

HTTP Status Codes #

  • 400 → invalid request fields or parameters
  • 413 → upload size/count limits exceeded or other request-size-related PDF limits
  • 415 → unsupported media type
  • 429 → rate limit or monthly quota exceeded
  • 503 → timeout, rate-limit store unavailable, or server busy
  • 500 → 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 to remove from the source PDF.

This action cannot delete all pages from the document. At least one page must remain.

Page numbering uses the shared 1-based page selector behavior used across /v1/pdf page-based actions.

Output files are returned through signed URLs. Applications that need long-term storage should store generated files externally rather than treating output URLs as permanent hosting.

Was it helpful ?
Scroll to Top