Skip to main content
GET https://api.pdfnoodle.com/v1/tools/get-signed-upload-url

Request

curl --location 'https://api.pdfnoodle.com/v1/tools/get-signed-upload-url?fileName=my-document.pdf' \
--header 'Authorization: Bearer pdfnoodle_api_123456789'

Response

{
  "presignedUploadUrl": "https://s3.amazonaws.com/...",
  "presignedGetUrl": "https://s3.amazonaws.com/...",
  "status": "SUCCESS",
  "fileName": "my-document.pdf",
  "uploadUrlValidUntil": "2025-01-01T01:30:00.000Z",
  "getUrlValidUntil": "2025-01-01T02:00:00.000Z"
}
The presignedUploadUrl is a temporary URL you can use to upload your PDF file via a PUT request. The presignedGetUrl is a temporary URL you can use to download the uploaded file.
  • Upload URL expires in 30 minutes
  • Download URL expires in 60 minutes
If no fileName is provided, a random filename will be generated automatically. Filenames are sanitized to only allow alphanumeric characters, dots, hyphens, and underscores.

Uploading a file using the presigned URL

Once you have the presignedUploadUrl, you can upload your PDF file using a PUT request:
curl --request PUT \
  --url 'YOUR_PRESIGNED_UPLOAD_URL' \
  --header 'Content-Type: application/pdf' \
  --data-binary '@/path/to/your/file.pdf'

Accessing the uploaded file

After uploading, use the presignedGetUrl from the original response to download or access the file:
curl --location 'YOUR_PRESIGNED_GET_URL' --output downloaded-file.pdf
The presignedGetUrl is also the URL you should pass as the url parameter to other PDF Tools endpoints (such as Merge PDFs, Split PDF, Compress PDF, or Update PDF Metadata) when you want to process the uploaded file.

Parameters

fileName
string
The desired filename for the uploaded PDF. If not provided, a random name will be generated. Special characters will be replaced with underscores.