GET
/v1/adverts/menus
List menu boards with layouts
Overview
Returns a paginated list of digital menu boards with layout configurations, logos, background images, and member pricing settings.
Request
Endpoint
HTTP Request
GET https://api.pixelsuite.com.au/v1/adverts/menus
Query Parameters
| Parameter | Type | Required | Default | Description |
|---|---|---|---|---|
page | integer | No | 1 | Page number |
limit | integer | No | 50 | Results per page (max: 100) |
search | string | No | - | Search by name |
active_only | string | No | "1" | Filter active menus ("0" or "1") |
Example Request
cURL
curl -X GET "https://api.pixelsuite.com.au/v1/adverts/menus?active_only=1" \
-H "Authorization: Bearer YOUR_API_KEY"
Response
JSON
{
"success": true,
"data": {
"menus": [
{
"ID": 5,
"parentMenuID": null,
"guid": "abc123-def456-ghi789",
"name": "Main Food Menu",
"description": "Primary food menu for dining area",
"dateCreated": "2025-10-01 08:00:00",
"dateModified": "2026-01-15 10:30:00",
"isActive": true,
"hasMemberPricing": true,
"menuLayout": "grid",
"settings": {
"columns": 3,
"showPrices": true,
"theme": "modern"
},
"revision": 3,
"memberText": "Member",
"nonMemberText": "Non-Member",
"logo": {
"ID": 200,
"key": "menus/logos/restaurant-logo.png",
"displayName": "Restaurant Logo",
"mimeType": "image/png",
"fileSize": 51200,
"dateCreated": "2025-10-01 08:00:00"
},
"backgroundImage": {
"ID": 201,
"key": "menus/backgrounds/wood-texture.jpg",
"displayName": "Wood Texture Background",
"mimeType": "image/jpeg",
"fileSize": 307200,
"dateCreated": "2025-10-01 08:00:00"
}
}
],
"pagination": {
"page": 1,
"limit": 50,
"total": 8,
"totalPages": 1,
"hasMore": false
}
}
}
Response Fields
| Field | Type | Description |
|---|---|---|
ID | integer | Menu ID |
name | string | Menu name |
guid | string | Unique identifier |
isActive | boolean | Whether menu is active |
hasMemberPricing | boolean | Whether member pricing is enabled |
menuLayout | string | Layout type (grid, list, etc.) |
settings | object | JSON configuration settings |
logo | object | Logo image S3 information |
backgroundImage | object | Background image S3 information |
Code Examples
PHP
<?php
$apiKey = 'YOUR_API_KEY';
$url = 'https://api.pixelsuite.com.au/v1/adverts/menus?active_only=1';
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_HTTPHEADER, ["Authorization: Bearer {$apiKey}"]);
$response = curl_exec($ch);
$data = json_decode($response, true);
if ($data['success']) {
foreach ($data['data']['menus'] as $menu) {
echo "Menu: {$menu['name']}\n";
echo "Layout: {$menu['menuLayout']}\n";
echo "Member Pricing: " . ($menu['hasMemberPricing'] ? 'Yes' : 'No') . "\n\n";
}
}
curl_close($ch);
JavaScript
const apiKey = 'YOUR_API_KEY';
fetch('https://api.pixelsuite.com.au/v1/adverts/menus?active_only=1', {
headers: { 'Authorization': `Bearer ${apiKey}` }
})
.then(res => res.json())
.then(data => {
if (data.success) {
data.data.menus.forEach(menu => {
console.log(`Menu: ${menu.name}`);
console.log(`Layout: ${menu.menuLayout}`);
console.log(`Member Pricing: ${menu.hasMemberPricing ? 'Yes' : 'No'}\n`);
});
}
});
Python
import requests
api_key = 'YOUR_API_KEY'
headers = {'Authorization': f'Bearer {api_key}'}
params = {'active_only': '1'}
response = requests.get(
'https://api.pixelsuite.com.au/v1/adverts/menus',
headers=headers,
params=params
)
data = response.json()
if data['success']:
for menu in data['data']['menus']:
print(f"Menu: {menu['name']}")
print(f"Layout: {menu['menuLayout']}")
print(f"Member Pricing: {'Yes' if menu['hasMemberPricing'] else 'No'}\n")