curl --request PUT \
--url https://api.eflow.team/v1/networks/creatives/{creativeId} \
--header 'Content-Type: application/json' \
--header 'X-Eflow-Api-Key: <api-key>' \
--data '
{
"network_offer_id": 1,
"name": "Banner Ad 300x250",
"creative_type": "html",
"html_code": "<div>Ad content</div>",
"creative_status": "active",
"width": 300,
"height": 250
}
'import requests
url = "https://api.eflow.team/v1/networks/creatives/{creativeId}"
payload = {
"network_offer_id": 1,
"name": "Banner Ad 300x250",
"creative_type": "html",
"html_code": "<div>Ad content</div>",
"creative_status": "active",
"width": 300,
"height": 250
}
headers = {
"X-Eflow-Api-Key": "<api-key>",
"Content-Type": "application/json"
}
response = requests.put(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'PUT',
headers: {'X-Eflow-Api-Key': '<api-key>', 'Content-Type': 'application/json'},
body: JSON.stringify({
network_offer_id: 1,
name: 'Banner Ad 300x250',
creative_type: 'html',
html_code: '<div>Ad content</div>',
creative_status: 'active',
width: 300,
height: 250
})
};
fetch('https://api.eflow.team/v1/networks/creatives/{creativeId}', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://api.eflow.team/v1/networks/creatives/{creativeId}",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "PUT",
CURLOPT_POSTFIELDS => json_encode([
'network_offer_id' => 1,
'name' => 'Banner Ad 300x250',
'creative_type' => 'html',
'html_code' => '<div>Ad content</div>',
'creative_status' => 'active',
'width' => 300,
'height' => 250
]),
CURLOPT_HTTPHEADER => [
"Content-Type: application/json",
"X-Eflow-Api-Key: <api-key>"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"strings"
"net/http"
"io"
)
func main() {
url := "https://api.eflow.team/v1/networks/creatives/{creativeId}"
payload := strings.NewReader("{\n \"network_offer_id\": 1,\n \"name\": \"Banner Ad 300x250\",\n \"creative_type\": \"html\",\n \"html_code\": \"<div>Ad content</div>\",\n \"creative_status\": \"active\",\n \"width\": 300,\n \"height\": 250\n}")
req, _ := http.NewRequest("PUT", url, payload)
req.Header.Add("X-Eflow-Api-Key", "<api-key>")
req.Header.Add("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.put("https://api.eflow.team/v1/networks/creatives/{creativeId}")
.header("X-Eflow-Api-Key", "<api-key>")
.header("Content-Type", "application/json")
.body("{\n \"network_offer_id\": 1,\n \"name\": \"Banner Ad 300x250\",\n \"creative_type\": \"html\",\n \"html_code\": \"<div>Ad content</div>\",\n \"creative_status\": \"active\",\n \"width\": 300,\n \"height\": 250\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.eflow.team/v1/networks/creatives/{creativeId}")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Put.new(url)
request["X-Eflow-Api-Key"] = '<api-key>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"network_offer_id\": 1,\n \"name\": \"Banner Ad 300x250\",\n \"creative_type\": \"html\",\n \"html_code\": \"<div>Ad content</div>\",\n \"creative_status\": \"active\",\n \"width\": 300,\n \"height\": 250\n}"
response = http.request(request)
puts response.read_body{
"network_offer_creative_id": 123,
"network_id": 123,
"network_offer_id": 123,
"name": "<string>",
"creative_type": "image",
"is_private": true,
"creative_status": "active",
"resource_url": "<string>",
"html_code": "<string>",
"width": 123,
"height": 123,
"email_from": "<string>",
"email_subject": "<string>",
"time_created": 1734455015,
"time_saved": 1734455015,
"additional_offer_ids": [
123
],
"is_apply_specific_affiliates": true,
"email_subject_lines": "<string>",
"email_from_lines": "<string>",
"relationship": {
"offer": {
"network_offer_id": 123,
"network_id": 123,
"network_advertiser_id": 123,
"network_offer_group_id": 123,
"name": "<string>",
"offer_status": "<string>",
"network_tracking_domain_id": 123,
"visibility": "<string>",
"currency_id": "<string>"
},
"resource_asset": {
"network_asset_id": 123,
"content_type": "<string>",
"filename": "<string>",
"url": "<string>",
"file_size": 123,
"image_width": 123,
"image_height": 123
}
}
}Update Creative
curl --request PUT \
--url https://api.eflow.team/v1/networks/creatives/{creativeId} \
--header 'Content-Type: application/json' \
--header 'X-Eflow-Api-Key: <api-key>' \
--data '
{
"network_offer_id": 1,
"name": "Banner Ad 300x250",
"creative_type": "html",
"html_code": "<div>Ad content</div>",
"creative_status": "active",
"width": 300,
"height": 250
}
'import requests
url = "https://api.eflow.team/v1/networks/creatives/{creativeId}"
payload = {
"network_offer_id": 1,
"name": "Banner Ad 300x250",
"creative_type": "html",
"html_code": "<div>Ad content</div>",
"creative_status": "active",
"width": 300,
"height": 250
}
headers = {
"X-Eflow-Api-Key": "<api-key>",
"Content-Type": "application/json"
}
response = requests.put(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'PUT',
headers: {'X-Eflow-Api-Key': '<api-key>', 'Content-Type': 'application/json'},
body: JSON.stringify({
network_offer_id: 1,
name: 'Banner Ad 300x250',
creative_type: 'html',
html_code: '<div>Ad content</div>',
creative_status: 'active',
width: 300,
height: 250
})
};
fetch('https://api.eflow.team/v1/networks/creatives/{creativeId}', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://api.eflow.team/v1/networks/creatives/{creativeId}",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "PUT",
CURLOPT_POSTFIELDS => json_encode([
'network_offer_id' => 1,
'name' => 'Banner Ad 300x250',
'creative_type' => 'html',
'html_code' => '<div>Ad content</div>',
'creative_status' => 'active',
'width' => 300,
'height' => 250
]),
CURLOPT_HTTPHEADER => [
"Content-Type: application/json",
"X-Eflow-Api-Key: <api-key>"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"strings"
"net/http"
"io"
)
func main() {
url := "https://api.eflow.team/v1/networks/creatives/{creativeId}"
payload := strings.NewReader("{\n \"network_offer_id\": 1,\n \"name\": \"Banner Ad 300x250\",\n \"creative_type\": \"html\",\n \"html_code\": \"<div>Ad content</div>\",\n \"creative_status\": \"active\",\n \"width\": 300,\n \"height\": 250\n}")
req, _ := http.NewRequest("PUT", url, payload)
req.Header.Add("X-Eflow-Api-Key", "<api-key>")
req.Header.Add("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.put("https://api.eflow.team/v1/networks/creatives/{creativeId}")
.header("X-Eflow-Api-Key", "<api-key>")
.header("Content-Type", "application/json")
.body("{\n \"network_offer_id\": 1,\n \"name\": \"Banner Ad 300x250\",\n \"creative_type\": \"html\",\n \"html_code\": \"<div>Ad content</div>\",\n \"creative_status\": \"active\",\n \"width\": 300,\n \"height\": 250\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.eflow.team/v1/networks/creatives/{creativeId}")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Put.new(url)
request["X-Eflow-Api-Key"] = '<api-key>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"network_offer_id\": 1,\n \"name\": \"Banner Ad 300x250\",\n \"creative_type\": \"html\",\n \"html_code\": \"<div>Ad content</div>\",\n \"creative_status\": \"active\",\n \"width\": 300,\n \"height\": 250\n}"
response = http.request(request)
puts response.read_body{
"network_offer_creative_id": 123,
"network_id": 123,
"network_offer_id": 123,
"name": "<string>",
"creative_type": "image",
"is_private": true,
"creative_status": "active",
"resource_url": "<string>",
"html_code": "<string>",
"width": 123,
"height": 123,
"email_from": "<string>",
"email_subject": "<string>",
"time_created": 1734455015,
"time_saved": 1734455015,
"additional_offer_ids": [
123
],
"is_apply_specific_affiliates": true,
"email_subject_lines": "<string>",
"email_from_lines": "<string>",
"relationship": {
"offer": {
"network_offer_id": 123,
"network_id": 123,
"network_advertiser_id": 123,
"network_offer_group_id": 123,
"name": "<string>",
"offer_status": "<string>",
"network_tracking_domain_id": 123,
"visibility": "<string>",
"currency_id": "<string>"
},
"resource_asset": {
"network_asset_id": 123,
"content_type": "<string>",
"filename": "<string>",
"url": "<string>",
"file_size": 123,
"image_width": 123,
"image_height": 123
}
}
}network_offer_id, name, creative_type, creative_status, is_private, additional_offer_ids, and is_apply_specific_affiliates. Any omitted non-required fields will be reset to defaults.Authorizations
The Everflow API key generated from the Control Center > Security.
Path Parameters
The creative ID.
Body
The ID of the offer this creative belongs to. Only required when creating a new creative on its own (not part of an offer creation).
Name of the creative.
Type of the creative. Can be one of: image, html, thumbnail, email, archive, video, text, or link.
image, html, thumbnail, email, archive, video, text, link Whether the creative is accessible by all affiliates.
Status of the creative. Can be active, paused, or deleted.
active, paused, deleted IDs of all additional offers linked to this creative.
Whether to restrict the creative to specific affiliates. Defaults to false.
HTML content of the creative. Required only if creative_type is html, email, or link.
Width of the creative. Required only if creative_type is html.
Height of the creative. Required only if creative_type is html.
Content of the From field of the email. Required only if creative_type is email.
Content of the Subject field of the email. Required only if creative_type is email.
Content of the creative. Should only be included if creative_type is image, thumbnail, archive, or video.
Show child attributes
Show child attributes
List of files attached to the creative. Should only be included if creative_type is html or email.
Show child attributes
Show child attributes
Array of asset objects associated with the creative. Used for html and email creative types.
Show child attributes
Show child attributes
Response
Unique creative ID.
Network ID.
Associated offer ID.
Name of the creative.
Type of the creative. Can be one of: image, html, thumbnail, email, archive, video, text, or link.
image, html, thumbnail, email, archive, video, text, link Whether the creative is accessible by all affiliates.
Status of the creative. Can be active, paused, or deleted.
active, paused, deleted URL to the creative resource file.
HTML content of the creative. Present when creative_type is html, email, or link.
Width of the creative in pixels.
Height of the creative in pixels.
Content of the From field of the email.
Content of the Subject field of the email.
Unix timestamp of creation.
1734455015
Unix timestamp of last update.
1734455015
IDs of all additional offers linked to this creative.
Whether the creative is restricted to specific affiliates.
Additional email subject lines for the creative.
Additional email from lines for the creative.
Show child attributes
Show child attributes
Was this page helpful?
