Skip to main content
POST
https://operator.opus.com
/
job
/
file
/
upload
curl --request POST \
  --url https://operator.opus.com/job/file/upload \
  --header 'Content-Type: application/json' \
  --header 'x-service-key: {YOUR_SERVICE_KEY}' \
  --data '{
    "fileExtension": ".pdf",
    "accessScope": "organization"
  }'
{
  "presignedUrl": "{PRESIGNED_URL}",
  "fileUrl": "{FILE_URL}"
}
If your workflow contains file inputs (type: file or array_files), you must upload files before executing the job. This endpoint generates a presigned URL for uploading.
Call this endpoint once for each file you need to upload. After receiving the presigned URL, proceed to Upload File to complete the upload.

Headers

x-service-key
string
required
Your API authentication key

Body Parameters

fileExtension
string
required
The file extension including the dot (e.g., .pdf, .docx)
accessScope
string
required
Access scope for the file. Options: all, user, workspace, organization

Supported File Types

ExtensionDescription
.pdfPDF documents
.docxWord documents
.csvCSV spreadsheets
.xls, .xlsxExcel spreadsheets
.txtPlain text files
.jsonJSON files
.htmlHTML files
.xmlXML files
.jpeg, .jpg, .pngImage files

Response

presignedUrl
string
required
Temporary URL for uploading your file. Use this in the Upload File step.
fileUrl
string
required
Permanent URL to reference this file in your Execute Job request.
curl --request POST \
  --url https://operator.opus.com/job/file/upload \
  --header 'Content-Type: application/json' \
  --header 'x-service-key: {YOUR_SERVICE_KEY}' \
  --data '{
    "fileExtension": ".pdf",
    "accessScope": "organization"
  }'
{
  "presignedUrl": "{PRESIGNED_URL}",
  "fileUrl": "{FILE_URL}"
}