Skip to main content

Sync Conversion

The /v1/sync endpoint generates a PDF and returns a JSON response with a temporary download URL. By default, files stored in PDFBolt's temporary storage expire after 24 hours. Use it when your application needs a download URL instead of PDF bytes. You can also provide customS3PresignedUrl to upload the PDF directly to your own bucket.

Endpoint Details

Method: POST

https://api.pdfbolt.com/v1/sync

Success Example

Example request body for converting a URL to PDF:

{
"url": "https://example.com"
}

Failure Example

If the request fails (e.g., unauthorized, bad request, conversion timeout), the response is a JSON error object. See Error Handling for all error codes and recommended actions.

{
"url": "https://example.com",
"waitForFunction": "() => document.body.innerText.includes('Ready to Download')"
}

Body Parameters

Common Parameters

Below are only the parameters specific to the /sync endpoint. For common parameters shared across all endpoints, see Conversion Parameters.

customS3PresignedUrl

Type: string

Required: No

Details: Specifies an HTTPS pre-signed URL for direct upload to your S3-compatible bucket. The URL must be no longer than 2048 characters. When provided, the response's documentUrl is null and isCustomS3Bucket: true (file goes directly to your bucket). If not provided, the document is stored in PDFBolt's S3 bucket for 24 hours.

See Uploading to Your S3 Bucket for setup details.

Usage:

{
"url": "https://example.com",
"customS3PresignedUrl": "https://your-bucket.s3.amazonaws.com/document.pdf?<presigned-query-params>"
}
Plan requirement

customS3PresignedUrl is available on paid plans. Free plan users should omit this parameter and use PDFBolt's default temporary storage instead.

Response Parameters

Response fields for successful requests. For failure responses, see Error Response Format.

ParameterTypeDescriptionPossible ValuesExample Value
requestIdstring (UUID)
  • Unique identifier for the request.
Any valid UUIDdb347fe5-7b72-45f6-92f9-a7b7755ab6c8
statusstring (Enum)
  • Status of the request.
SUCCESSSUCCESS
errorCodestring
  • Error code.
  • This field is null for successful requests.
nullnull
errorMessagestring
  • Error message.
  • This field is null for successful requests.
nullnull
documentUrlstring (URL)
  • URL to the generated document.
  • This will be null if customS3PresignedUrl is used, as the PDF is uploaded directly to the provided S3 bucket.
Any valid URL or nullhttps://s3.pdfbolt.com/pdfbolt_ec2950a1-f835-4be6-bab2-69490b53b1f9_2026-04-30T10-44-09Z.pdf
expiresAtstring (ISO 8601)
  • Expiration date and time of the document stored in the default PDFBolt S3 bucket.
  • Will be null if customS3PresignedUrl is provided.
ISO 8601 datetime string in UTC or null2026-05-01T10:44:09Z
isAsyncboolean
  • Indicates if the operation is asynchronous.
  • Will always be false for the /sync endpoint.
falsefalse
durationnumber
  • Total processing time for the request.
  • Measured in milliseconds.
Any positive number606
documentSizeMbnumber
  • Size of the document in megabytes.
Any positive number0.02
isCustomS3Bucketboolean
  • Indicates if the generated document was uploaded to a user-provided custom S3 bucket or PDFBolt's default storage.
true
false
false

For response headers, see API Response Headers.

Next Steps