POST /api/v3/digital-boards¶
Summary¶
POST digital-boards
Description¶
See Digital Board for details on the digital board object Create a new digitalBoard
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¶
Required: Yes
Content Type: application/json¶
Schema¶
Type: object
Required fields: name, agency_lcuid, board_identifier, width, height, slot_length, slot_count, latitude, longitude
Properties:
name(string) (required)description(string)agency_lcuid(string) (required): lcuid of the agency this digitalboard will belong to.board_identifier(string) (required): Unique Vendor Supplied Id for this digitalBoard.width(integer) (required): Width in pixels.height(integer) (required): 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 Calc Methods.slot_length(number) (required): Length of each slot in seconds.slot_count(integer) (required): Number of slots.latitude(number) (required): Latitude of the digitalBoard.longitude(number) (required): Longitude of the digitalBoard.facing_cardinal(string): Facing direction of the digitalBoard See Cardinals.read(string): Read side of the digitalBoard See Reads.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_review_status(integer)xr_status(integer)venue_taxonomy_id(string)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)timezone(string)geo_city_id(integer)geo_state_name(string)geo_country_name(string)geo_city_name_possessive(string)geo_state_code_possessive(string)geo_state_name_possessive(string)geo_country_code_possessive(string)-
geo_country_name_possessive(string) -
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)
Example Response¶
{
"success": true,
"digital_board": {
"board_identifier": "NW-123-1",
"name": "North Washington Street",
"status": 1,
"created_at": "2026-01-07T00:14:45.000000Z",
"updated_at": "2026-01-07T00:14:45.000000Z",
"network": 0,
"width": 1024,
"height": 768,
"hardware_provider": "watchfire",
"software_provider": "apparatix",
"description": "This is a test board",
"street_view_review_status": 0,
"xr_status": 0,
"venue_taxonomy_id": "301",
"board_class": "App\\LuCore\\DigitalBoards\\DigitalBillboardBoardClass",
"hash_id": "lch-4HsP",
"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-32619d2b-80be-4a0b-89f0-d1472a04e538",
"slug": "TestAgencyUnitTestRf86c",
"created_at": "2026-01-07T00:14:45.000000Z",
"updated_at": "2026-01-07T00:14:45.000000Z",
"agency_class_description": "Operator"
},
"location": {
"name": "Digital Board Location : North Washington Street",
"description": null,
"phone": null,
"address": null,
"city": "Bridgeport",
"region": "AL",
"postal_code": null,
"country": "US",
"latitude": "42.36010000000000",
"longitude": "-71.05890000000000",
"location_default": 0,
"status": 1,
"options": {
"_init": [],
"timezone": "America/Chicago",
"geo_city_id": 36,
"geo_state_name": "Alabama",
"geo_country_name": "United States",
"geo_city_name_possessive": "Bridgeport's",
"geo_state_code_possessive": "AL's",
"geo_state_name_possessive": "Alabama's",
"geo_country_code_possessive": "US'",
"geo_country_name_possessive": "United States'"
},
"location_class": "App\\LuCore\\Locations\\DigitalBoardStructureLocationClass",
"lcuid": "LCUID-LL-70799324-7f1d-48e8-a7b8-374596b4c4ca",
"street_view_status": null,
"heading": null,
"pitch": null,
"zoom": null,
"hash_id": "lch-4Cu0",
"lid": "LL2912",
"parent_id": 22033,
"parent_type": "App\\DigitalBoard",
"created_at": "2026-01-07T00:14:45.000000Z",
"updated_at": "2026-01-07T00:14:45.000000Z",
"location_class_description": "Digital Board 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": 8,
"slot_length": 8,
"impressions_calc_method": 1,
"avg_daily_impressions": 1000,
"facing_degrees": 0,
"facing_cardinal": "N",
"read": "R",
"pending_xr_image_url": null
},
"lcuid": "LCUID-LB-da15a916-ed93-4106-961b-016011da5d41",
"slug": "BreezyBillboardsBoardNw1231",
"address": "",
"city": "Bridgeport",
"region": "AL",
"postal_code": "",
"country": "US",
"transact_channel_class": [
"App\\LuCore\\DigitalBoards\\TransactChannels\\ContractTransactChannelClass"
],
"transact_channel_class_description": "Contract",
"media_type_class": [
"App\\LuCore\\DigitalBoards\\MediaTypes\\ImageMediaTypeClass",
"App\\LuCore\\DigitalBoards\\MediaTypes\\VideoMediaTypeClass"
],
"media_type_class_description": "Image, Video",
"aspect_ratio": 1.33,
"latitude": "42.36010000000000",
"longitude": "-71.05890000000000"
}
}
Example Implementations¶
Bash (cURL)¶
curl --request POST \
"https://api.lucit.app/api/v3/digital-boards" \
--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\",
\"agency_lcuid\": \"LCUID-LY-506fc585-77be-11ec-acb9-c2cdb617d190\",
\"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"
);
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",
"agency_lcuid": "LCUID-LY-506fc585-77be-11ec-acb9-c2cdb617d190",
"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: "POST",
headers,
body: JSON.stringify(body),
}).then(response => response.json());
PHP (Guzzle)¶
$client = new \GuzzleHttp\Client();
$response = $client->post(
'https://api.lucit.app/api/v3/digital-boards',
[
'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',
'agency_lcuid' => 'LCUID-LY-506fc585-77be-11ec-acb9-c2cdb617d190',
'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'
payload = {
"name": "My New Digital Board",
"description": "My New DigitalBoard Description",
"agency_lcuid": "LCUID-LY-506fc585-77be-11ec-acb9-c2cdb617d190",
"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('POST', url, headers=headers, json=payload)
response.json()
Example Responses¶
200 Response¶
{
"success": true,
"digital_board": {
"board_identifier": "NW-123-1",
"name": "North Washington Street",
"status": 1,
"created_at": "2026-01-07T00:14:45.000000Z",
"updated_at": "2026-01-07T00:14:45.000000Z",
"network": 0,
"width": 1024,
"height": 768,
"hardware_provider": "watchfire",
"software_provider": "apparatix",
"description": "This is a test board",
"street_view_review_status": 0,
"xr_status": 0,
"venue_taxonomy_id": "301",
"board_class": "App\\LuCore\\DigitalBoards\\DigitalBillboardBoardClass",
"hash_id": "lch-4HsP",
"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-32619d2b-80be-4a0b-89f0-d1472a04e538",
"slug": "TestAgencyUnitTestRf86c",
"created_at": "2026-01-07T00:14:45.000000Z",
"updated_at": "2026-01-07T00:14:45.000000Z",
"agency_class_description": "Operator"
},
"location": {
"name": "Digital Board Location : North Washington Street",
"description": null,
"phone": null,
"address": null,
"city": "Bridgeport",
"region": "AL",
"postal_code": null,
"country": "US",
"latitude": "42.36010000000000",
"longitude": "-71.05890000000000",
"location_default": 0,
"status": 1,
"options": {
"_init": [],
"timezone": "America/Chicago",
"geo_city_id": 36,
"geo_state_name": "Alabama",
"geo_country_name": "United States",
"geo_city_name_possessive": "Bridgeport's",
"geo_state_code_possessive": "AL's",
"geo_state_name_possessive": "Alabama's",
"geo_country_code_possessive": "US'",
"geo_country_name_possessive": "United States'"
},
"location_class": "App\\LuCore\\Locations\\DigitalBoardStructureLocationClass",
"lcuid": "LCUID-LL-70799324-7f1d-48e8-a7b8-374596b4c4ca",
"street_view_status": null,
"heading": null,
"pitch": null,
"zoom": null,
"hash_id": "lch-4Cu0",
"lid": "LL2912",
"parent_id": 22033,
"parent_type": "App\\DigitalBoard",
"created_at": "2026-01-07T00:14:45.000000Z",
"updated_at": "2026-01-07T00:14:45.000000Z",
"location_class_description": "Digital Board 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": 8,
"slot_length": 8,
"impressions_calc_method": 1,
"avg_daily_impressions": 1000,
"facing_degrees": 0,
"facing_cardinal": "N",
"read": "R",
"pending_xr_image_url": null
},
"lcuid": "LCUID-LB-da15a916-ed93-4106-961b-016011da5d41",
"slug": "BreezyBillboardsBoardNw1231",
"address": "",
"city": "Bridgeport",
"region": "AL",
"postal_code": "",
"country": "US",
"transact_channel_class": [
"App\\LuCore\\DigitalBoards\\TransactChannels\\ContractTransactChannelClass"
],
"transact_channel_class_description": "Contract",
"media_type_class": [
"App\\LuCore\\DigitalBoards\\MediaTypes\\ImageMediaTypeClass",
"App\\LuCore\\DigitalBoards\\MediaTypes\\VideoMediaTypeClass"
],
"media_type_class_description": "Image, Video",
"aspect_ratio": 1.33,
"latitude": "42.36010000000000",
"longitude": "-71.05890000000000"
}
}