nenoDevelopers
⌘K
v1

Tasks

Upload files to a task

POST/tasks/{id}/files

Multipart upload. Limits (enforced server-side): ≤10 files, ≤8 MB each, content types: application/pdf, image/jpeg, image/png, image/gif, image/webp, image/heic, image/heif. Bytes proxy through the API.

Path parameters

idstring · uuidrequired

Headers

Idempotency-Keystring · max 255required

Client-generated key that identifies one write for 24 hours. Reuse it only when retrying the same method, path, query, and body.

Body · multipart/form-data

filesarray of stringsrequired

Responses

201
Created. Files attached; returns the updated task.
400
Bad request. Malformed request.
401
Unauthorized. Missing, invalid, revoked, or expired API key.
403
Forbidden. The API key lacks a required scope or the creator lacks a required permission.
404
Not found. Resource not found (or not in this workspace).
409
Conflict. A matching request with this Idempotency-Key is still in progress. Retry after one second.
413
Payload too large. File too large (>8 MB).
415
Unsupported media type. Unsupported content type.
422
Unprocessable content. This Idempotency-Key was already used for a different request.
429
Too many requests. Rate limit exceeded.
Request
curl -X POST https://api.neno.build/public/v1/tasks/9b2f6c1e-4a7d-4f0e-8c3b-2d51e7a0f4c9/files \
-H "Authorization: Bearer $NENO_API_KEY" \
-H "Idempotency-Key: $(uuidgen)" \
201 Created · application/json
{
"id": "9b2f6c1e-4a7d-4f0e-8c3b-2d51e7a0f4c9",
"source": "accountant",
"key": "string",
"title": "Upload your Q3 bank statements",
"description": "Brand identity, phase 2",
"type": "file_upload",
"status": "open",
"responseData": "string",
"files": [
{
"id": "9b2f6c1e-4a7d-4f0e-8c3b-2d51e7a0f4c9",
"taskId": "9b2f6c1e-4a7d-4f0e-8c3b-2d51e7a0f4c9",
"filename": "string",
"contentType": "string",
"byteSize": 1,
"authorRole": "accountant",
"createdAt": "2026-09-24T09:30:00Z"
}
],
"submittedAt": "2026-09-24T09:30:00Z",
"completedAt": "2026-09-24T09:30:00Z",
"createdAt": "2026-09-24T09:30:00Z",
"updatedAt": "2026-09-24T09:30:00Z"
}