Skip to main content

Sync Conversion

The /v1/sync endpoint generates a PDF from a URL, HTML, or a published template ID with JSON data 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. To store the PDF in your own bucket instead, provide customS3PresignedUrl.

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

API-level failures return a JSON error object. Infrastructure-generated responses, such as 503 and 504, may use a different format. See Error Handling for shared error codes and recommended actions, and the OpenAPI Reference for the exact responses supported by this endpoint.

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

Body Parameters

Common Parameters

The parameter below is available on the /v1/sync and /v1/async endpoints. For common Conversion API parameters, see Conversion Parameters.

customS3PresignedUrl

Type: string

Required: No

Details: Specifies an HTTPS pre-signed PUT URL for direct upload to your S3-compatible bucket. The URL must be no longer than 2048 characters. When provided, documentUrl and expiresAt are null, and isCustomS3Bucket is true. If not provided, the document is stored in PDFBolt's temporary storage 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
errorCodenull
  • Always null for successful requests.
nullnull
errorMessagenull
  • Always null for successful requests.
nullnull
documentUrlstring (URL) or null
  • 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) or null
  • Expiration date and time of the document stored in PDFBolt's temporary storage.
  • 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 /v1/sync endpoint.
falsefalse
durationinteger
  • PDF conversion time in milliseconds.
Any non-negative integer606
documentSizeMbnumber
  • Size of the document in megabytes.
Any non-negative 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