Creative API
Creatives
List creatives
GET /v1/creatives/advar
Get a list of advar creatives filtered on at least one parameter.
Request body
| Parameter | In | Required | Type | Description |
creativeId |
path | Yes | integer | The creatives ID. |
campaignId |
parameter | No | integer | Campaign ID of the campaign whose advar creatives you want to list. |
creativeId |
parameter | No | integer | Comma separated list of creative ids you want to list. |
bookingId |
parameter | No | integer | Comma separated list of booking ids you want to list creatives for. |
search |
parameter | No | string | An url-encoded search string to apply to the list of creatives (ignoring case, on creative name). |
limit |
parameter | No | integer | Pagination property to limit the number of returned targets. |
offset |
parameter | No | integer | Pagination property to offset the returned targets. |
Response - 200
[
{
"creativeId": 18,
"campaignId": 17,
"creativeName": "27M2N8500/01 Rectangle 1",
"formatId": 1,
"advarTemplateName": "Image_FlexBanner.html",
"sku": null,
"lastEditedDate": "2026-07-01T10:16:32Z",
"templateParameters": {
"<CLICKURL>": "https://www.philips.be/c-p/27M2N8500_01/gamemonitor-qd-oled-gamemonitor",
"<ALT_TEXT>": "QD OLED-gamemonitor"
},
"templateFiles": {
"2": {
"fileName": null,
"filePath": "https://demo-preview.adhese.org/pool/lib/18_2nd_1.png"
}
},
"lastEdited": 1782900992000
},
{
"creativeId": 19,
"campaignId": 17,
"creativeName": "27M2N8500/01 Rectangle 2",
"formatId": 1,
"advarTemplateName": "Image_FlexBanner.html",
"sku": null,
"lastEditedDate": "2026-07-01T10:19:06Z",
"templateParameters": {
"<CLICKURL>": "https://www.philips.be/c-p/27M2N8500_01/gamemonitor-qd-oled-gamemonitor",
"<ALT_TEXT>": "QD OLED-gamemonitor 2"
},
"templateFiles": {
"2": {
"fileName": null,
"filePath": "https://demo-preview.adhese.org/pool/lib/19_2nd_1.png"
}
},
"lastEdited": 1782901146000
},
{
"creativeId": 27,
"campaignId": 17,
"creativeName": "Apitest advar banner ",
"formatId": 1,
"advarTemplateName": "Image_FlexBanner.html",
"sku": "",
"lastEditedDate": "2026-08-10T07:29:49Z",
"templateParameters": {
"<CLICKURL>": "",
"<ALT_TEXT>": ""
},
"templateFiles": {
"2": {
"fileName": null,
"filePath": "https://demo-preview.adhese.org/pool/lib/27_2nd_1.png"
}
},
"lastEdited": 1786346989000
}
]
Response codes
| Status | Meaning |
200 |
Creatives found. |
400 |
Bad request - invalid input or parameters. |
401 / 403 |
Not authenticated / not allowed. |
404 |
Not Found - Resource not found. |
409 |
Conflict. |
500 |
Internal Server Error - Unexpected failure. |
Update an advar creative
PUT /v1/creatives/advar/{creativeId}
Updates an advar creative by creative ID
Request body
| Parameter | In | Required | Type | Description |
creativeId |
path | Yes | integer | The creatives ID. |
Updating an advar creative
{
"campaignId": 17,
"creativeName": "Apitest advar banner update",
"sku": "string",
"formatId": 1,
"advarTemplateName": "Image_FlexBanner.html",
"templateParameters": {},
"templateFiles": {}
}
Response - 200
{
"creativeId": 27,
"campaignId": 17,
"creativeName": "Apitest advar banner update",
"formatId": 1,
"advarTemplateName": "Image_FlexBanner.html",
"sku": "string",
"lastEditedDate": "2026-08-10T13:36:10Z",
"templateParameters": {},
"templateFiles": {
"2": {
"fileName": null,
"filePath": "https://demo-preview.adhese.org/pool/lib/27_2nd_1.png"
}
},
"lastEdited": 1786368970000
}
Response codes
| Status | Meaning |
200 |
Creative updated. |
400 |
Bad request - invalid input or parameters. |
401 / 403 |
Not authenticated / not allowed. |
404 |
Not Found - Resource not found. |
409 |
Conflict. |
500 |
Internal Server Error - Unexpected failure. |
Upload a creative file
POST /v1/creatives/file
Uploads a creative file to temporary storage to use when uploading an advar creative.
Request body
| Parameter | In | Required | Type | Description |
Content-Disposition |
Yes | string | Contains the file name and is filled in accordingly attachment; filename=filename.extension |
Use-Keycloak-Auth
header
Yes
boolean
Default is true
Content-Type
header
Yes
string
application/octet-stream
formatId
parameter
Yes
string
The ID of the format that will be associated with the creative.
key
parameter
No
string
Creative file index written as ordinal number (e.g. 2nd) with the exception of 1, which has key "main" (but is not used in advar creatives). Default value is main
File contents
body
Yes
binary data
File contents as binary data to be uploaded to temporary storage.
Response - 201
{
"filePath": "/home/adhese/www/docker.adhese.org/tmp/file_by_user_1_747262096578706399.png"file_by_user_1_9072608199649672610.jpg"
}
Response codes
| Status | Meaning |
201 |
File uploaded successfully. |
400 |
Bad request - invalid input or parameters. |
401 / 403 |
Not authenticated / not allowed. |
404 |
Not Found - Resource not found. |
409 |
Conflict. |
500 |
Internal Server Error - Unexpected failure. |
Create an advar creative
POST /v1/creatives/advar
Creates an advar creative under the chosen campaign.
Request body
| Parameter | In | Required | Type | Description |
campaignId |
body | Yes | string | Id of the campaign under wich you want to create a creative. |
creativeName |
body | Yes | string | The ID of the format that will be associated with the creative. |
sku |
body | No | string | SKU of the product related to the product. |
formatId |
body | Yes | integer | ID of the format that will be used for the creative. |
advarTemplateName |
body | Yes | string | Name of the advar template that will be used. |
templateParameters |
body | No | string | Additional parameters related to the advar. To be filled in as additionalProp#with # being the order of the prop in integers (e.g. 1) with the props defined by their own fileName and filePath. |
templateFiles |
body | No | string | Creative name and files. |
- fileName |
body | No | string | Name of the creative's file. |
- filePath |
body | No | string | Path where the file can be found. If a creative was uploaded via the API, this can be found in the response. |