Update a Screen
curl --request POST \
--url https://api.framen.com/vendor/{org_token}/screens/{screen_id} \
--header 'Content-Type: application/json' \
--data '
{
"title": "<string>",
"venue_type_id": "<string>",
"location_id": "<string>",
"width": 123,
"height": 123,
"loop_duration": 123,
"archived": true,
"available_for_ads": true,
"amount": 123,
"imps_weekly": 123
}
'import requests
url = "https://api.framen.com/vendor/{org_token}/screens/{screen_id}"
payload = {
"title": "<string>",
"venue_type_id": "<string>",
"location_id": "<string>",
"width": 123,
"height": 123,
"loop_duration": 123,
"archived": True,
"available_for_ads": True,
"amount": 123,
"imps_weekly": 123
}
headers = {"Content-Type": "application/json"}
response = requests.post(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'POST',
headers: {'Content-Type': 'application/json'},
body: JSON.stringify({
title: '<string>',
venue_type_id: '<string>',
location_id: '<string>',
width: 123,
height: 123,
loop_duration: 123,
archived: true,
available_for_ads: true,
amount: 123,
imps_weekly: 123
})
};
fetch('https://api.framen.com/vendor/{org_token}/screens/{screen_id}', 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.framen.com/vendor/{org_token}/screens/{screen_id}",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "POST",
CURLOPT_POSTFIELDS => json_encode([
'title' => '<string>',
'venue_type_id' => '<string>',
'location_id' => '<string>',
'width' => 123,
'height' => 123,
'loop_duration' => 123,
'archived' => true,
'available_for_ads' => true,
'amount' => 123,
'imps_weekly' => 123
]),
CURLOPT_HTTPHEADER => [
"Content-Type: application/json"
],
]);
$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.framen.com/vendor/{org_token}/screens/{screen_id}"
payload := strings.NewReader("{\n \"title\": \"<string>\",\n \"venue_type_id\": \"<string>\",\n \"location_id\": \"<string>\",\n \"width\": 123,\n \"height\": 123,\n \"loop_duration\": 123,\n \"archived\": true,\n \"available_for_ads\": true,\n \"amount\": 123,\n \"imps_weekly\": 123\n}")
req, _ := http.NewRequest("POST", url, payload)
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.post("https://api.framen.com/vendor/{org_token}/screens/{screen_id}")
.header("Content-Type", "application/json")
.body("{\n \"title\": \"<string>\",\n \"venue_type_id\": \"<string>\",\n \"location_id\": \"<string>\",\n \"width\": 123,\n \"height\": 123,\n \"loop_duration\": 123,\n \"archived\": true,\n \"available_for_ads\": true,\n \"amount\": 123,\n \"imps_weekly\": 123\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.framen.com/vendor/{org_token}/screens/{screen_id}")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["Content-Type"] = 'application/json'
request.body = "{\n \"title\": \"<string>\",\n \"venue_type_id\": \"<string>\",\n \"location_id\": \"<string>\",\n \"width\": 123,\n \"height\": 123,\n \"loop_duration\": 123,\n \"archived\": true,\n \"available_for_ads\": true,\n \"amount\": 123,\n \"imps_weekly\": 123\n}"
response = http.request(request)
puts response.read_bodyUpdate a Screen
Update an existing screen’s details.
POST
/
vendor
/
{org_token}
/
screens
/
{screen_id}
Update a Screen
curl --request POST \
--url https://api.framen.com/vendor/{org_token}/screens/{screen_id} \
--header 'Content-Type: application/json' \
--data '
{
"title": "<string>",
"venue_type_id": "<string>",
"location_id": "<string>",
"width": 123,
"height": 123,
"loop_duration": 123,
"archived": true,
"available_for_ads": true,
"amount": 123,
"imps_weekly": 123
}
'import requests
url = "https://api.framen.com/vendor/{org_token}/screens/{screen_id}"
payload = {
"title": "<string>",
"venue_type_id": "<string>",
"location_id": "<string>",
"width": 123,
"height": 123,
"loop_duration": 123,
"archived": True,
"available_for_ads": True,
"amount": 123,
"imps_weekly": 123
}
headers = {"Content-Type": "application/json"}
response = requests.post(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'POST',
headers: {'Content-Type': 'application/json'},
body: JSON.stringify({
title: '<string>',
venue_type_id: '<string>',
location_id: '<string>',
width: 123,
height: 123,
loop_duration: 123,
archived: true,
available_for_ads: true,
amount: 123,
imps_weekly: 123
})
};
fetch('https://api.framen.com/vendor/{org_token}/screens/{screen_id}', 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.framen.com/vendor/{org_token}/screens/{screen_id}",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "POST",
CURLOPT_POSTFIELDS => json_encode([
'title' => '<string>',
'venue_type_id' => '<string>',
'location_id' => '<string>',
'width' => 123,
'height' => 123,
'loop_duration' => 123,
'archived' => true,
'available_for_ads' => true,
'amount' => 123,
'imps_weekly' => 123
]),
CURLOPT_HTTPHEADER => [
"Content-Type: application/json"
],
]);
$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.framen.com/vendor/{org_token}/screens/{screen_id}"
payload := strings.NewReader("{\n \"title\": \"<string>\",\n \"venue_type_id\": \"<string>\",\n \"location_id\": \"<string>\",\n \"width\": 123,\n \"height\": 123,\n \"loop_duration\": 123,\n \"archived\": true,\n \"available_for_ads\": true,\n \"amount\": 123,\n \"imps_weekly\": 123\n}")
req, _ := http.NewRequest("POST", url, payload)
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.post("https://api.framen.com/vendor/{org_token}/screens/{screen_id}")
.header("Content-Type", "application/json")
.body("{\n \"title\": \"<string>\",\n \"venue_type_id\": \"<string>\",\n \"location_id\": \"<string>\",\n \"width\": 123,\n \"height\": 123,\n \"loop_duration\": 123,\n \"archived\": true,\n \"available_for_ads\": true,\n \"amount\": 123,\n \"imps_weekly\": 123\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.framen.com/vendor/{org_token}/screens/{screen_id}")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["Content-Type"] = 'application/json'
request.body = "{\n \"title\": \"<string>\",\n \"venue_type_id\": \"<string>\",\n \"location_id\": \"<string>\",\n \"width\": 123,\n \"height\": 123,\n \"loop_duration\": 123,\n \"archived\": true,\n \"available_for_ads\": true,\n \"amount\": 123,\n \"imps_weekly\": 123\n}"
response = http.request(request)
puts response.read_bodyUpdate a Screen
Update an existing screen’s details. All body parameters are optional — only include the fields you want to change.string
required
Your organization token (e.g.,
Org_4KmTqZnWpLx).string
required
The unique identifier of the screen to update.
string
Display name of the screen.
string
Must be the same as or a child of the parent Location’s
venue_type_id.string
Must reference an existing Location.
integer
Pixel width of the screen.
integer
Pixel height of the screen.
integer
Loop duration in seconds.
boolean
Whether the screen is archived.
boolean
Whether the screen is available for ad campaigns.
integer
Number of physical screens this entry represents.
integer
Estimated weekly impressions.
Changing
location_id will set the Location’s status to REVIEW, even if it was previously APPROVED.Example Request
curl -X POST https://api.framen.com/vendor/Org_4KmTqZnWpLx/screens/Scr_xYz789 \
-H "Content-Type: application/json" \
-d '{
"title": "Lobby Display A - Updated",
"width": 3840,
"height": 2160
}'
Last modified on April 17, 2026
⌘I