Files & uploads
Endpoints that accept files (task attachments, HACCP photos, routine media, request forms…) take multipart/form-data. File fields are marked file in the reference; arrays of files use the [] suffix.
curl -X POST https://app.jecheck.io/api/ext/v1/tasks/3f2b8c1e-7a4d-4e2f-9b1a-6c5d4e3f2a1b/files \
-H "Authorization: Bearer $JECHECK_TOKEN" \
-F "files[][email protected]" \
-F "files[][email protected]"
Other fields of a multipart request are sent as form fields; arrays and objects can be sent as JSON strings.
- Maximum size: 25 MB per file.
- Images (JPEG, PNG, WebP, HEIC), PDF and office documents are accepted where the app accepts them.
Downloading files
Responses never contain the file bytes. They contain a url — a signed link valid for a limited time (usually one hour) that opens without the token. Request the record again to get a fresh link.
Files over MCP
MCP tools accept files as objects with the file name and base64 content:
{
"name": "tasks_files_upload",
"arguments": {
"uuid": "3f2b8c1e-7a4d-4e2f-9b1a-6c5d4e3f2a1b",
"files": [{ "name": "after.jpg", "content_base64": "/9j/4AAQSkZJRgABAQ…" }]
}
}
Reports (PDF, Excel)
Report endpoints return a JSON object with a signed url and expires_at rather than the binary itself, so they work the same way over REST and MCP.