Documentation ›
Campaigns › Upload campaign media
POST
Upload campaign media
POSThttps://app.sendapp.ai/api/campaigns/upload_media
Upload a media file (image, audio, video, document) to storage and get the public URL to use as
media_url when creating a campaign draft. multipart/form-data request, maximum size 10 MB. Parameters
apikey
required
Your API Key.
token
required
Account token.
file
required
The file to upload (multipart, max 10 MB).
Request
curl -X POST 'https://app.sendapp.ai/api/campaigns/upload_media' \
-F 'apikey=YOUR_API_KEY' \
-F 'token=YOUR_ACCOUNT_TOKEN' \
-F 'file=@/path/to/image.jpg'<?php
$ch = curl_init('https://app.sendapp.ai/api/campaigns/upload_media');
curl_setopt_array($ch, [
CURLOPT_RETURNTRANSFER => true,
CURLOPT_POST => true,
CURLOPT_POSTFIELDS => [
'apikey' => 'YOUR_API_KEY',
'token' => 'YOUR_ACCOUNT_TOKEN',
'file' => new CURLFile('/path/to/image.jpg'),
],
]);
echo curl_exec($ch);const form = new FormData();
form.append('apikey', 'YOUR_API_KEY');
form.append('token', 'YOUR_ACCOUNT_TOKEN');
form.append('file', fileInput.files[0]);
const res = await fetch('https://app.sendapp.ai/api/campaigns/upload_media', { method: 'POST', body: form });
console.log(await res.json()); // { status:'success', url:'https://...' }Response (200 OK)
{
"status": "success",
"success": true,
"url": "https://cdn.sendapp.example/media/abc123.jpg",
"type": "image",
"filename": "promo.jpg"
}Error
{
"status": "error",
"success": false,
"message": "Failed to upload media file."
}