1. Media Manager
  • Getting Started
    • Introduction
    • Quickstart
    • Authentication
    • Status codes
  • Webhook
    • Webhook Setup
    • Webhook Events and Schema
  • SDKs
    • @klink.cloud/call-sdk
  • API Reference
    • Contact
      • Listing
      • Create
      • Filter By SocialPlatformId
      • Form Fields
      • Detail
      • Update
      • Delete
      • Fetch Contact Groups
      • Update tags
      • Filter By Phone Number
    • Tag
      • Listing
    • Channel
      • Listing
      • Create
    • Ticket
      • Listing
      • Create
      • Filter by Contact ID
      • Form Fields
      • Update
      • Update status
    • Category
      • Listing
    • CxLog
      • Listing
    • Message
      • Send message
      • Create comments
      • Get Comments
    • Media Manager
      • Upload File (multipart)
        POST
      • Get Folders
        GET
      • Get Folder By ID
        GET
      • Create Folder
        POST
      • Update Folder
        PATCH
      • Delete Folder
        DELETE
      • Get Files
        GET
      • Get File By ID
        GET
      • Create File
        POST
      • Update File
        PATCH
      • Delete File
        DELETE
    • Agent Activity
      • Get Agents Activities
    • Telephony
      • Get Telephony CDR
    • User
      • Create
      • Listing
      • Detail
      • Update
      • Delete
    • Automation Queue
      • Create
      • Listing
      • Detail
      • Update
      • Delete
      • Add Member
      • Remove Member
    • Role
      • Listing
Blog
Github
  1. Media Manager

Upload File (multipart)

POST
/api/v1/media-manager/files/upload
Upload a file to the Media Manager as multipart/form-data. The file is streamed straight to storage, so large files aren't held in a JSON body.
One file part per request, max 25 MB. Larger files return 413.
File names in any language (e.g. Thai) are preserved.
Use the returned data.id as mediaFileId in Send message.

Request

Authorization
Provide your bearer token in the
Authorization
header when making requests to protected resources.
Example:
Authorization: Bearer ********************
Body Params multipart/form-dataRequired

Responses

🟢200Success
application/json
Bodyapplication/json

🟠400Bad request
🟠413File too large
Request Request Example
Shell
JavaScript
Java
Swift
curl --location 'https://apigw.klinkcx.com/api/v1/media-manager/files/upload' \
--header 'Authorization: Bearer <token>' \
--form 'file=@""'
Response Response Example
200 - Example 1
{
    "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"
        }
    }
}
Modified at 2026-09-25 04:28:15
Previous
Get Comments
Next
Get Folders
Built with