Upload a single asset file (image, video, or audio) to get a CDN URL (assetUrl). Use that URL when creating a hosted creative via Create Creative. Requires advertiserId, filename, and file (multipart/form-data).
| Time | Status | User Agent | |
|---|---|---|---|
Retrieving recent requests… | |||
Endpoint: POST /creative/upload (or POST /v1/creative/upload per your base URL)
Purpose: Upload an asset file (image, video, or audio) to storage. The API returns a CDN URL (assetUrl) for the uploaded file. It does not create a creative record. Use the returned URL in the Create Creative API (e.g. imageUrl, video.mediaUrls, audio.mediaUrls, dooh.imageUrl, dooh.mediaUrls).
Typical flow: 1) Call this API with your file → get assetUrl. 2) Call Create Creative with that assetUrl in the appropriate field.
Request
Content-Type: multipart/form-data
| Field | Type | Required | Description |
|---|---|---|---|
| advertiserId | Integer | Yes | Advertiser ID. The authenticated user must have campaign write permission for this advertiser. |
| filename | String | Yes | Original filename including a supported extension (see Allowed file extensions below). Case-insensitive. |
| file | Binary | Yes | The file bytes (image, video, or audio). |
All three fields are required. There are no optional form fields.
Allowed file extensions
The filename must end with one of these extensions (case-insensitive). If it does not, the API returns 400 with an error in messages.
| Category | Extensions |
|---|---|
| Image | .jpg, .jpeg, .png, .gif |
| Video | .webm, .flv, .mp4, .mpg4, .mov, .mxf, .mpeg, .mpg, .m4v, .avi |
| Audio | .aac, .wma, .wav, .mp1, .mp2, .mp3, .ogg, .oga, .spx, .opus |
The filename may be sanitized for storage (e.g. non-alphanumeric characters except the dot replaced with _).
Response
Content-Type: application/json
Success (200):
| Field | Type | Description |
|---|---|---|
| messages | Array | May be empty on success. |
| entity | Object | Present on success. |
| entity.advertiserId | Integer | Echo of the request advertiserId. |
| entity.filename | String | Echo of the request filename. |
| entity.assetUrl | String | CDN URL where the file is stored. Use this URL when creating a hosted creative (e.g. imageUrl, video.mediaUrls, audio.mediaUrls, dooh.imageUrl, dooh.mediaUrls). |
Validation error (e.g. invalid or missing filename extension):
- The API return 400 with
messagescontaining an ERROR entry describing the problem (e.g. invalid filename or allowed extensions). Checkmessagesbefore usingentity.assetUrl.
Other errors: 4xx/5xx per API standards (e.g. authentication, permission, server error).
Example request and response
Example request
POST /v1/creative/upload with Content-Type: multipart/form-data:
| Key | Type | Example value |
|---|---|---|
| advertiserId | form field | 107967 |
| filename | form field | banner.jpg |
| file | file | (binary image file) |
Example response (200)
{
"messages": [],
"entity": {
"advertiserId": 107967,
"filename": "banner.jpg",
"assetUrl": "https://media-cdn.adelphic-dev.com/image/107967/1a2b3c4d5e_banner.jpg"
}
}Use entity.assetUrl as imageUrl when creating a BANNER+HOSTED creative, or in video.mediaUrls / audio.mediaUrls / dooh.imageUrl / dooh.mediaUrls as appropriate. See Create Creative for payload examples.
401Unauthorized
403Forbidden
404Not Found