Rockbot Signage API
Digital-signage campaigns and assets by group or zone.
Digital-signage campaigns and assets by group or zone.
openapi: 3.0.3
info:
title: Rockbot Audio Messaging Signage API
version: '5.0'
x-apisjson-generated: '2026-07-21'
x-apisjson-method: generated
x-apisjson-source: https://developer.rockbot.com/api.html
description: 'Rockbot''s external REST API (v5) lets business customers programmatically control in-location media across their zones and device groups: music playback, audio messaging campaigns, digital-signage campaigns, device status/remote control, and playback history/analytics exports. This OpenAPI description was faithfully generated by the API Evangelist enrichment pipeline from the public documentation at https://developer.rockbot.com — Rockbot does not publish a machine-readable spec. Request/response body schemas are modeled loosely (free-form JSON) where the documentation does not enumerate fields; endpoints, methods, auth, pagination, and rate limits are captured as documented.'
contact:
name: Rockbot API Support
email: support@rockbot.com
url: https://developer.rockbot.com
servers:
- url: https://api.rockbot.com/v5
description: Production
security:
- oauth2: []
tags:
- name: Signage
description: Digital-signage campaigns and assets by group or zone.
paths:
/ext/signage/campaigns/group:
get:
operationId: listSignageCampaignsByGroup
tags:
- Signage
summary: List signage campaigns by group
responses:
'200':
$ref: '#/components/responses/Object'
'401':
$ref: '#/components/responses/Unauthorized'
'429':
$ref: '#/components/responses/RateLimited'
/ext/signage/campaigns/zone:
get:
operationId: listSignageCampaignsByZone
tags:
- Signage
summary: List signage campaigns by zone
responses:
'200':
$ref: '#/components/responses/Object'
'401':
$ref: '#/components/responses/Unauthorized'
'429':
$ref: '#/components/responses/RateLimited'
/ext/signage/campaign/group:
post:
operationId: createSignageCampaignGroup
tags:
- Signage
summary: Create a group-level signage campaign
responses:
'200':
$ref: '#/components/responses/Object'
'401':
$ref: '#/components/responses/Unauthorized'
'429':
$ref: '#/components/responses/RateLimited'
delete:
operationId: archiveSignageCampaignGroup
tags:
- Signage
summary: Archive a group-level signage campaign
responses:
'200':
$ref: '#/components/responses/Object'
'401':
$ref: '#/components/responses/Unauthorized'
'429':
$ref: '#/components/responses/RateLimited'
/ext/signage/campaign/zone:
post:
operationId: createSignageCampaignZone
tags:
- Signage
summary: Create a zone-level signage campaign
responses:
'200':
$ref: '#/components/responses/Object'
'401':
$ref: '#/components/responses/Unauthorized'
'429':
$ref: '#/components/responses/RateLimited'
delete:
operationId: archiveSignageCampaignZone
tags:
- Signage
summary: Archive a zone-level signage campaign
responses:
'200':
$ref: '#/components/responses/Object'
'401':
$ref: '#/components/responses/Unauthorized'
'429':
$ref: '#/components/responses/RateLimited'
/ext/signage/campaign/enable:
post:
operationId: enableSignageCampaign
tags:
- Signage
summary: Activate a signage campaign
responses:
'200':
$ref: '#/components/responses/Object'
'401':
$ref: '#/components/responses/Unauthorized'
'429':
$ref: '#/components/responses/RateLimited'
/ext/signage/campaign/disable:
post:
operationId: disableSignageCampaign
tags:
- Signage
summary: Deactivate a signage campaign
responses:
'200':
$ref: '#/components/responses/Object'
'401':
$ref: '#/components/responses/Unauthorized'
'429':
$ref: '#/components/responses/RateLimited'
/ext/signage/campaign/play:
post:
operationId: playSignageCampaign
tags:
- Signage
summary: Trigger immediate signage playback
responses:
'200':
$ref: '#/components/responses/Object'
'401':
$ref: '#/components/responses/Unauthorized'
'429':
$ref: '#/components/responses/RateLimited'
/ext/signage/campaign/add_asset:
post:
operationId: addSignageCampaignAsset
tags:
- Signage
summary: Associate a signage asset with a campaign
responses:
'200':
$ref: '#/components/responses/Object'
'401':
$ref: '#/components/responses/Unauthorized'
'429':
$ref: '#/components/responses/RateLimited'
/ext/signage/campaign/remove_asset:
delete:
operationId: removeSignageCampaignAsset
tags:
- Signage
summary: Dissociate a signage asset from a campaign
responses:
'200':
$ref: '#/components/responses/Object'
'401':
$ref: '#/components/responses/Unauthorized'
'429':
$ref: '#/components/responses/RateLimited'
/ext/signage/assets/group:
get:
operationId: listSignageAssetsByGroup
tags:
- Signage
summary: List signage files by group
responses:
'200':
$ref: '#/components/responses/Object'
'401':
$ref: '#/components/responses/Unauthorized'
'429':
$ref: '#/components/responses/RateLimited'
/ext/signage/assets/zone:
get:
operationId: listSignageAssetsByZone
tags:
- Signage
summary: List signage files by zone
responses:
'200':
$ref: '#/components/responses/Object'
'401':
$ref: '#/components/responses/Unauthorized'
'429':
$ref: '#/components/responses/RateLimited'
/ext/signage/asset/group:
post:
operationId: uploadSignageAssetGroup
tags:
- Signage
summary: Upload a signage file (group-level)
requestBody:
content:
multipart/form-data:
schema:
type: object
properties:
file:
type: string
format: binary
responses:
'200':
$ref: '#/components/responses/Object'
'401':
$ref: '#/components/responses/Unauthorized'
'429':
$ref: '#/components/responses/RateLimited'
delete:
operationId: deleteSignageAssetGroup
tags:
- Signage
summary: Remove a signage file (group-level)
responses:
'200':
$ref: '#/components/responses/Object'
'401':
$ref: '#/components/responses/Unauthorized'
'429':
$ref: '#/components/responses/RateLimited'
/ext/signage/asset/zone:
post:
operationId: uploadSignageAssetZone
tags:
- Signage
summary: Upload a signage file (zone-level)
requestBody:
content:
multipart/form-data:
schema:
type: object
properties:
file:
type: string
format: binary
responses:
'200':
$ref: '#/components/responses/Object'
'401':
$ref: '#/components/responses/Unauthorized'
'429':
$ref: '#/components/responses/RateLimited'
delete:
operationId: deleteSignageAssetZone
tags:
- Signage
summary: Remove a signage file (zone-level)
responses:
'200':
$ref: '#/components/responses/Object'
'401':
$ref: '#/components/responses/Unauthorized'
'429':
$ref: '#/components/responses/RateLimited'
components:
responses:
Unauthorized:
description: Missing or invalid bearer access token.
RateLimited:
description: Rate limit exceeded. The default limit is 1 request per second.
Object:
description: Success. Returns a JSON object or array.
content:
application/json:
schema:
type: object
additionalProperties: true
securitySchemes:
oauth2:
type: oauth2
description: 'OAuth 2.0 Client Credentials grant. Exchange a CLIENT_ID/CLIENT_SECRET (issued by Rockbot support) at the token endpoint for a 24-hour bearer ACCESS_TOKEN, then send it as `Authorization: Bearer ACCESS_TOKEN`.'
flows:
clientCredentials:
tokenUrl: https://api.rockbot.com/v5/api-clients/token
scopes: {}