multipart/form-data. The file is streamed straight to storage, so large files aren't held in a JSON body.file part per request, max 25 MB. Larger files return 413.data.id as mediaFileId in Send message.curl --location 'https://apigw.klinkcx.com/api/v1/media-manager/files/upload' \
--header 'Authorization: Bearer <token>' \
--form 'file=@""'{
"data": {
"id": "string",
"uploadId": "string",
"folderId": null,
"title": "string",
"description": "string",
"altText": "string",
"sortOrder": 0,
"isFavorite": true,
"isPrivate": true,
"createdAt": "string",
"updatedAt": "string",
"upload": {
"id": "string",
"fileName": "string",
"fileSize": 0,
"fileUrl": "string"
}
}
}