Large-file ingest

Files over 4.5 MB.

The inline request-body limit is ~4.5 MB. Smaller exports can go inline as base64; larger ones use a blob URL.

Inline (small files)

bash
curl -s -X POST "https://app.plcs.ai/api/v1/projects" \
  -H "Authorization: Bearer $PLCS_API_KEY" \
  -H "Content-Type: application/json" \
  -H "Idempotency-Key: $(uuidgen)" \
  -d "{
    \"originalFilename\": \"Conveyor.L5X\",
    \"file\": { \"inline\": \"$(base64 -i Conveyor.L5X)\" }
  }"

Large files

If an inline upload exceeds the limit you get 413 body_too_large with a link here. Upload the file to a blob URL your integration controls, then pass it:

json
{
  "originalFilename": "BigPlant_TIA_Export.zip",
  "file": { "blob_url": "https://…/BigPlant_TIA_Export.zip" }
}

The SDKs select the inline vs. blob path for you based on file size.