PUT /api/v3/digital-boards/{lcuid}¶
Summary¶
PUT digital-boards/{id}
Description¶
See Digital Board for details on the digital board object
Tags: digital-boards
Parameters¶
Header Parameters¶
| Name | Type | Required | Description | Example |
|---|---|---|---|---|
Authorization |
string |
✓ Yes | Bearer {AuthToken} |
|
Content-Type |
string |
✓ Yes | application/json |
|
Accept |
string |
✓ Yes | application/json |
|
AppIdV3 |
string |
✓ Yes | LCUID-LAP-********-****-****-****-************ |
Request Body¶
Content Type: application/json¶
Schema¶
Type: object
Properties:
name(string)description(string)board_identifier(string): Unique Vendor Supplied Id for this digitalBoard.width(integer): Width in pixels.height(integer): Height in pixels.venue_taxonomy_id(integer): venue_taxonomy_id See OpenOOH Venue Taxonomy.hardware_provider(string): Hardware provider for this digitalBoard Use _unknown if not known See Hardware Providers.software_provider(string): Software provider for this digitalBoard Use _unknown if not known See Software Providers.avg_daily_impressions(number): Average daily impressions for this digitalBoard.impressions_calc_method(integer): Impression calculation method Can be one of 0 (none) or 1 (average daily) See Impression Calculation Methods.slot_length(number): Length of each slot in seconds.slot_count(integer): Number of slots.latitude(number): Latitude of the digitalBoard.longitude(number): Longitude of the digitalBoard.facing_cardinal(string): Facing direction of the digitalBoard See Cardinal Directions.read(string): Read side of the digitalBoard See Read.transact_channel_class(object): An array of channel class strings for this digitalBoard Defaults to ContractTransactChannelClass See Transact Channel Classes.media_type_class(object): An array of media type class strings for this digitalBoard Defaults to ImageMediaTypeClass See Media Type Classes.
Responses¶
Response: 200¶
Description: Sample Response
Content Type: application/json¶
Schema¶
Type: object
Properties:
success(boolean)digital_board(object) Type:object
Properties:
board_identifier(string)name(string)status(integer)created_at(string)updated_at(string)network(integer)width(integer)height(integer)hardware_provider(string)software_provider(string)description(string)street_view_status(string)street_view_review_status(integer)xr_status(integer)venue_taxonomy_id(integer)board_class(string)hash_id(string)creative_width(integer)creative_height(integer)creative_is_upscaled(boolean)-
digital_board_format(object) Type:objectProperties:
code(string)name(string)width(integer)height(integer)min_ratio(number)max_ratio(number)meta(array)
-
agency(object) Type:objectProperties:
name(string)description(string)software_provider(string)website(string)status(integer)agency_class(string)options(object) Type:object
Properties:
primary_image_public_url(string)support_text(string)-
proof_legal_text(string) -
lcuid(string) slug(string)created_at(string)updated_at(string)agency_class_description(string)
-
location(object) Type:objectProperties:
name(string)description(string)phone(string)address(string)city(string)region(string)postal_code(string)country(string)latitude(string)longitude(string)location_default(integer)status(integer)options(object) Type:object
Properties:
-
_init(array) -
location_class(string) lcuid(string)street_view_status(string)heading(string)pitch(string)zoom(string)hash_id(string)lid(string)parent_id(integer)parent_type(string)created_at(string)updated_at(string)location_class_description(string)fov(integer)
-
open_ooh_venue_taxonomy(object) Type:objectProperties:
name(string)fully_qualified_name(string)description(string)enumeration_id(integer)version(string)child_count(integer)level(integer)level_name(string)parent_id(integer)lcuid(string)
-
digital_board_to_images(array) board_class_description(string)board_size_description(string)-
options(object) Type:objectProperties:
primary_image_public_url(string)slot_count(integer)slot_length(integer)impressions_calc_method(integer)avg_daily_impressions(integer)facing_degrees(integer)facing_cardinal(string)read(string)pending_xr_image_url(string)
-
lcuid(string) slug(string)address(string)city(string)region(string)postal_code(string)country(string)transact_channel_class(array)- Array items:
string
- Array items:
transact_channel_class_description(string)media_type_class(array)- Array items:
string
- Array items:
media_type_class_description(string)aspect_ratio(number)latitude(string)longitude(string)cached_tags(string)
Example Response¶
{
"success": true,
"digital_board": {
"board_identifier": "1234-SF-NEW",
"name": "North Washington St, SF (NEW)",
"status": 1,
"created_at": "2026-01-07T00:14:46.000000Z",
"updated_at": "2026-01-07T00:14:46.000000Z",
"network": 0,
"width": 1024,
"height": 768,
"hardware_provider": "watchfire",
"software_provider": "apparatix",
"description": "A billboard on North Washington St in San Francisco",
"street_view_status": null,
"street_view_review_status": 0,
"xr_status": 0,
"venue_taxonomy_id": 301,
"board_class": "App\\LuCore\\DigitalBoards\\DigitalBillboardBoardClass",
"hash_id": "lch-4HsQ",
"creative_width": 1024,
"creative_height": 768,
"creative_is_upscaled": false,
"digital_board_format": {
"code": "oddblock",
"name": "Wide Block",
"width": 1000,
"height": 833,
"min_ratio": 1.0001,
"max_ratio": 1.3999,
"meta": []
},
"agency": {
"name": "Breezy Billboards",
"description": "Here is a new unit test agency description",
"software_provider": null,
"website": null,
"status": 0,
"agency_class": "App\\LuCore\\Agencies\\OperatorAgencyClass",
"options": {
"primary_image_public_url": null,
"support_text": null,
"proof_legal_text": null
},
"lcuid": "LCUID-LY-6fc3d620-9b53-4d6c-ae01-ce39b9cd852f",
"slug": "TestAgencyUnitTestBspv8",
"created_at": "2026-01-07T00:14:46.000000Z",
"updated_at": "2026-01-07T00:14:46.000000Z",
"agency_class_description": "Operator"
},
"location": {
"name": "North Washington St, SF",
"description": "Unit Test Description - zXbxb2hCexws0IPBJeRj5zEo1Tz1sWbTWAe1wdhTATcaKp1vfvzNqNkAZwLwVUaEGZmpAJEdvthQ04Rj23bxWKXSRNn1Os9gED4RfjxY1Dl9FCaEQVrsWhIe9FWokWYCXURzdPYZyUYaNmxu6CWCxK",
"phone": "+1 (731) 268-2427",
"address": "4620 Enos Path",
"city": "Annietown",
"region": "Oklahoma",
"postal_code": "15103-8315",
"country": "US",
"latitude": "41.3601",
"longitude": "-74.0589",
"location_default": 1,
"status": 1,
"options": {
"_init": []
},
"location_class": "App\\LuCore\\Locations\\GenericLocationClass",
"lcuid": "LCUID-LL-c16bcdc7-09e9-4d14-92ba-3ae19657d2be",
"street_view_status": null,
"heading": null,
"pitch": null,
"zoom": null,
"hash_id": "lch-4Cu1",
"lid": "LL2913",
"parent_id": 22034,
"parent_type": "App\\DigitalBoard",
"created_at": "2026-01-07T00:14:46.000000Z",
"updated_at": "2026-01-07T00:14:46.000000Z",
"location_class_description": "Generic Location",
"fov": 1
},
"open_ooh_venue_taxonomy": {
"name": "Billboards",
"fully_qualified_name": "Outdoor : Billboards",
"description": "Located primarily on major roads, they attract high-density consumer exposure (mostly to vehicular traffic, but often to pedestrians).",
"enumeration_id": 301,
"version": "1.1",
"child_count": 3,
"level": 1,
"level_name": "child",
"parent_id": 3,
"lcuid": "LCUID-LVT-985d993b-d81a-47fa-997b-2ed94dad71d2"
},
"digital_board_to_images": [],
"board_class_description": "Digital Billboard",
"board_size_description": "1024x768",
"options": {
"primary_image_public_url": null,
"slot_count": 1,
"slot_length": 1,
"impressions_calc_method": 1,
"avg_daily_impressions": 1000,
"facing_degrees": 0,
"facing_cardinal": "N",
"read": "R",
"pending_xr_image_url": null
},
"lcuid": "LCUID-LB-65163c40-95ca-4d4e-8206-00d2cc32dbb5",
"slug": "BreezyBillboardsBoard1234Sf8",
"address": "4620 Enos Path",
"city": "Annietown",
"region": "Oklahoma",
"postal_code": "15103-8315",
"country": "US",
"transact_channel_class": [
"App\\LuCore\\DigitalBoards\\TransactChannels\\ContractTransactChannelClass",
"App\\LuCore\\DigitalBoards\\TransactChannels\\ProgrammaticTransactChannelClass"
],
"transact_channel_class_description": "Contract, Programmatic",
"media_type_class": [
"App\\LuCore\\DigitalBoards\\MediaTypes\\ImageMediaTypeClass",
"App\\LuCore\\DigitalBoards\\MediaTypes\\VideoMediaTypeClass",
"App\\LuCore\\DigitalBoards\\MediaTypes\\AudioMediaTypeClass",
"App\\LuCore\\DigitalBoards\\MediaTypes\\HtmlMediaTypeClass"
],
"media_type_class_description": "Image, Video, Audio, Html",
"aspect_ratio": 1.33,
"latitude": "38.05044400000000",
"longitude": "-68.25230700000000",
"cached_tags": null
}
}
Example Implementations¶
Bash (cURL)¶
curl --request PUT \
"https://api.lucit.app/api/v3/digital-boards/LCUID-LB-506fc585-77be-11ec-acb9-c2cdb617d190" \
--header "Authorization: Bearer {AuthToken}" \
--header "Content-Type: application/json" \
--header "Accept: application/json" \
--header "AppIdV3: LCUID-LAP-********-****-****-****-************" \
--data "{
\"name\": \"My New Digital Board\",
\"description\": \"My New DigitalBoard Description\",
\"board_identifier\": \"NW-123-1\",
\"width\": 1920,
\"height\": 1080,
\"venue_taxonomy_id\": 301,
\"hardware_provider\": \"daktronics\",
\"software_provider\": \"scala\",
\"avg_daily_impressions\": 1000,
\"impressions_calc_method\": 1,
\"slot_length\": 8,
\"slot_count\": 8,
\"latitude\": 40.7128,
\"longitude\": 74.006,
\"facing_cardinal\": \"NW\",
\"read\": \"R\"
}"
JavaScript (Fetch API)¶
const url = new URL(
"https://api.lucit.app/api/v3/digital-boards/LCUID-LB-506fc585-77be-11ec-acb9-c2cdb617d190"
);
const headers = {
"Authorization": "Bearer {AuthToken}",
"Content-Type": "application/json",
"Accept": "application/json",
"AppIdV3": "LCUID-LAP-********-****-****-****-************",
};
let body = {
"name": "My New Digital Board",
"description": "My New DigitalBoard Description",
"board_identifier": "NW-123-1",
"width": 1920,
"height": 1080,
"venue_taxonomy_id": 301,
"hardware_provider": "daktronics",
"software_provider": "scala",
"avg_daily_impressions": 1000,
"impressions_calc_method": 1,
"slot_length": 8,
"slot_count": 8,
"latitude": 40.7128,
"longitude": 74.006,
"facing_cardinal": "NW",
"read": "R"
};
fetch(url, {
method: "PUT",
headers,
body: JSON.stringify(body),
}).then(response => response.json());
PHP (Guzzle)¶
$client = new \GuzzleHttp\Client();
$response = $client->put(
'https://api.lucit.app/api/v3/digital-boards/LCUID-LB-506fc585-77be-11ec-acb9-c2cdb617d190',
[
'headers' => [
'Authorization' => 'Bearer {AuthToken}',
'Content-Type' => 'application/json',
'Accept' => 'application/json',
'AppIdV3' => 'LCUID-LAP-********-****-****-****-************',
],
'json' => [
'name' => 'My New Digital Board',
'description' => 'My New DigitalBoard Description',
'board_identifier' => 'NW-123-1',
'width' => 1920,
'height' => 1080,
'venue_taxonomy_id' => 301,
'hardware_provider' => 'daktronics',
'software_provider' => 'scala',
'avg_daily_impressions' => 1000.0,
'impressions_calc_method' => 1,
'slot_length' => 8.0,
'slot_count' => 8,
'latitude' => 40.7128,
'longitude' => 74.006,
'facing_cardinal' => 'NW',
'read' => 'R',
],
]
);
$body = $response->getBody();
print_r(json_decode((string) $body));
Python (Requests)¶
import requests
import json
url = 'https://api.lucit.app/api/v3/digital-boards/LCUID-LB-506fc585-77be-11ec-acb9-c2cdb617d190'
payload = {
"name": "My New Digital Board",
"description": "My New DigitalBoard Description",
"board_identifier": "NW-123-1",
"width": 1920,
"height": 1080,
"venue_taxonomy_id": 301,
"hardware_provider": "daktronics",
"software_provider": "scala",
"avg_daily_impressions": 1000,
"impressions_calc_method": 1,
"slot_length": 8,
"slot_count": 8,
"latitude": 40.7128,
"longitude": 74.006,
"facing_cardinal": "NW",
"read": "R"
}
headers = {
'Authorization': 'Bearer {AuthToken}',
'Content-Type': 'application/json',
'Accept': 'application/json',
'AppIdV3': 'LCUID-LAP-********-****-****-****-************'
}
response = requests.request('PUT', url, headers=headers, json=payload)
response.json()