Repository navigation
web sdk overview
The Security Center Web SDK is an HTTP API for managing entities, monitoring events, and executing operations in Security Center.
The Web SDK is a specialized Security Center role that acts as an HTTP API gateway. It allows applications to interact with Security Center using standard HTTP requests.
Key capabilities:
- Entity management: Create, read, update, and delete Security Center entities (cardholders, credentials, visitors, access rules, and other entities)
- Real-time events: Subscribe to and receive live event streams
- Report execution: Query and filter historical events
- Alarm operations: Trigger and acknowledge alarms
- Custom operations: Execute actions and macros
Understanding how the Web SDK works helps you avoid common integration mistakes.
flowchart LR
subgraph App[Your Application]
A1[HTTP API calls]
A2[JSON/XML responses]
end
subgraph WebSDK[Web SDK role]
W1[Session Management]
W2[Query Processing]
end
subgraph SC[Security Center Directory]
S1[Entity Storage]
S2[Event System]
end
App -->|HTTP/HTTPS| WebSDK --> SC
How it works:
- Your application makes HTTP requests to the Web SDK role
- Web SDK role authenticates your requests and creates a session
- Session maintains a connection to Security Center and caches data for performance
- Security Center processes operations and returns results through the Web SDK
Important
Your application connects only to the Web SDK role, not directly to the Security Center Directory server. The Web SDK handles all communication with Security Center for your application.
The Web SDK does not support cross-origin requests from browsers. Browser JavaScript cannot call the Web SDK directly. To build a browser-based application, route Web SDK requests through your own backend server acting as a proxy.
If SSL is enabled on the Web SDK role, the server presents a self-signed certificate by default. If your client does not trust the certificate, the HTTPS request fails. See TLS certificate for your options.
When you make your first authenticated request, the Web SDK creates a session for you. This session:
- Maintains your connection to Security Center
- Tracks subscriptions to real-time events
- Stores session settings, such as creation partitions
Sessions are tied to the unique combination of credentials, Application ID, and Web SDK instance.
Important
Multiple applications using the same credentials and Application ID and connecting to the same Web SDK instance will share the same session.
Example:
Application A: USER1 + APPID1 → http://server:4590/WebSdk/
Application B: USER1 + APPID1 → http://server:4590/WebSdk/
Result: Both applications share one session
Implications:
- Settings configured by Application A (like
/creationpartition) affect Application B. - Event subscriptions from Application A are shared with Application B.
- Activity from either application resets the session timeout.
- Both applications see the same session state.
When connecting to different Web SDK instances, sessions are completely independent:
Application A: USER1 + APPID1 → http://server1:4590/WebSdk/ (Session 1)
Application B: USER1 + APPID1 → http://server2:4590/WebSdk/ (Session 2)
Result: Two separate sessions
| Event | Behavior |
|---|---|
| First request | Session created, connection established to Security Center |
| Subsequent requests | Session reused, cached data returned when available |
| 5 minutes of inactivity | Session expires and is cleaned up |
Keep-alive request GET /
|
Resets the 5-minute inactivity timer |
| Any other authenticated request | Also resets the 5-minute inactivity timer |
| Event subscription with open stream | Automatic keep-alive every 1 minute (session never expires) |
Important
Settings like /creationpartition are session-specific. After 5 minutes of inactivity the session ends and these settings are cleared. Use GET / when you intentionally want to keep the session alive, and call /creationpartition again before operations if your session may have expired.
- Getting started with the Web SDK: Authentication, your first API call, and Web SDK role setup.
- Web SDK reference: Well-known GUIDs, card format identifiers, and enumerations.
- Web SDK troubleshooting: Diagnosing common Web SDK issues.
- Overview
- Connecting to Security Center
- SDK certificates
- Referencing SDK assemblies
- ASP.NET hosting
- SDK compatibility
- Migrating to modern .NET
- Entities
- Entity cache
- Entity loading, cache, and query options
- Detecting entity changes
- Entity change event reference
- Transactions
- Security Center events
- Actions
- Security Desk
- Custom events
- Event-to-actions
- Managing macros
- ReportManager
- ReportManager query reference
- Access control raw events
- DownloadAllRelatedData and StrictResults
- Privileges
- Partitions
- Entity write restrictions
- About custom fields
- About video
- About cameras
- Enrolling a video unit
- Ingesting third-party video
- Archiver and auxiliary archiver roles
- Archive transfer
- About access control
- About cardholders and credentials
- About doors, areas, elevators, and access points
- About access rules and schedules
- About access control units and interface modules
- Enrolling an access control unit
- Door templates
- Visitors
- Mobile credentials
- About threat levels
- About alarms
- About incidents
- Maps
- Logging
- Overview
- Localization
- Certificates
- Lifecycle
- Threading
- State management
- Configuration
- Restricted configuration
- Events
- Queries
- Request manager
- Database
- Entity ownership
- Engine extensions
- Entity mappings
- Server management
- Custom privileges
- Custom entity types
- Resolving non-SDK assemblies
- Deploying plugins
- Modern .NET support
- Overview
- Localization
- Certificates
- Creating modules
- Tasks
- Pages
- Components
- Tile extensions
- Services
- Contextual actions
- Custom actions
- Options extensions
- Configuration pages
- Monitors
- Shared components
- Commands
- Extending events
- Map extensions
- Timeline providers
- Image extractors
- Credential encoders
- Credential readers
- Cardholder fields extractors
- Badge printers
- Content builders
- Dashboard widgets
- Incidents
- Logon providers
- Pinnable content builders
- Custom report pages
- Overview
- Getting started
- Media file formats
- MediaPlayer
- VideoSourceFilter
- MediaExporter
- MediaFile
- G64 converters
- FileCryptingManager
- PlaybackSequenceQuerier
- PlaybackStreamReader
- OverlayFactory
- PtzCoordinatesManager
- AudioTransmitter
- AudioRecorder
- AnalogMonitorController
- Camera blocking
- Overview
- Getting started
- Referencing entities
- Entity operations
- About access control in the Web SDK
- About video in the Web SDK
- Users and user groups
- Partitions
- Custom fields
- Custom card formats
- Actions
- Events and alarms
- Incidents
- Reports
- Tasks
- Macros
- Custom entity types
- System endpoints
- Performance guide
- Reference
- Endpoints
- Constants
- Enumerations
- Under the hood
- Troubleshooting