Exposing REST endpoints that trigger tasks and can handle large payload (PDF)

Hello everyone,

we want to expose REST endpoints that start a process or trigger single tasks within a process. Those endpoints should accept application/json with (sometimes even multiple) base64 encoded PDF files.

We tried to accomplish this by using the HTTP Webhook Connector, but we are getting a “413 Request Entity Too Large” when the PDF files are too large. For Camunda 8, the size of process variables is limited to 4MB, which might be the problem here. But in contrast to Camunda 7, we could not find an option to store large files as BLOBs and at the moment it is also not possible for us to introduce an own BLOB storage like S3.

Do you have any hints or tips how we could implement this or how we can store large files to a BLOB storage in Camunda 8?

Thanks in advance!

Best,
Matthias

Hi @mjhof - I think the first question that needs to be answered is why you need the entire PDF within the process? I like to think of data in terms of process data and application data: process data is the minimum amount of data needed to complete the process; application data is everything else. I would consider a PDF to be application data. (Our documentation has some information on data handling.)

Without knowing why you need that data, my first thought is to store the PDF file within my application and only send an ID to the process. That ID can be sent to job workers or Connectors that can then fetch the PDF if/when needed.