Skip to main content

Overview

Crystal is PADS4’s integrated REST API for Digital Signage and Workspace (meeting room) management. It provides a unified interface for managing display content, categories, messages, meeting room bookings, resources, and occupancy — covering both the signage playback layer and the full room-booking lifecycle. Crystal runs at a separate base path from the standard PADS4 Foundation services.

Authentication

Crystal uses its own token endpoint — it does not use the standard PADS4 session cookie from /api/v1/Account/Logon.
All examples below assume the token is stored in the shell variable $TOKEN.

Endpoint Reference

Digital Signage (26 endpoints)

Workspace / Meeting Rooms (74 endpoints)


Request & Response Examples

POST /api/token

Authenticate and obtain a Crystal Bearer token. Request:
Response 200 OK:

GET /api/public/digitalsignage/displays

List all registered Crystal displays. Request:
Response 200 OK:

POST /api/public/digitalsignage/displays

Create a new display. Request:
Response 200 OK:

GET /api/public/digitalsignage/categories

Get all content categories. Request:
Response 200 OK:

PUT /api/public/digitalsignage/masques/{idmasque}/activate

Activate a masque (content template) so it begins playing on assigned displays. Request:
Response 200 OK:

POST /api/public/digitalsignage/messages/broadcast

Broadcast a diffusion / push a message to displays. Request:
Response 200 OK:

GET /api/public/meetingrooms/rooms

Get all meeting rooms. Request:
Response 200 OK:

POST /api/public/meetingrooms/rooms

Create a new meeting room. Request:
Response 200 OK:

POST /api/public/meetingrooms/bookings

Create a new room booking. Request:
Response 200 OK:

GET /api/public/meetingrooms/bookings

Get bookings with optional filters (query parameters). Request:
Response 200 OK:

DELETE /api/public/meetingrooms/bookings/{id}

Delete a booking. Request:
Response 200 OK:

POST /api/public/meetingrooms/statistics/occupancy

Retrieve occupancy statistics for rooms over a time range. Request:
Response 200 OK:

GET /api/public/meetingrooms/locations

Get all locations (buildings / floors). Request:
Response 200 OK:

POST /api/public/meetingrooms/locations/associate

Associate one or more rooms to a location. Request:
Response 200 OK:

GET /api/v1/health

Crystal service health check. Request:
Response 200 OK:

Additional endpoints follow the same REST conventions: GET /resource lists, POST /resource creates, PUT /resource updates, GET /resource/{id} retrieves by id, DELETE /resource/{id} deletes. See the Swagger UI at /crystal/pads/swagger/index.html for full parameter schemas.