Helix Server
API definition Guide
Version 4.0.1
(Last update: 4th January 2024)
@ 2024, Vaxtor Technologies
HELIX Server - API definition
Preface
This user manual is designed for the management and proper use of Helix API, made by
Vaxtor.
About this manual
This manual is intended for developers of Vaxtor Helix-Server API application and is
applicable to its version 1.0. Covers access to configuration, operation, audit and SignalR
messages of Helix-Server. The most recent version of this document is available at
www.vaxtor.com.
Before using Helix-Server API it is very important to read the whole this document and
Helix user and administration manual to understand concepts and configurations.
Important!
This Helix-Server API definition Guide applies to contemporary or later Helix server (or
plugin).
For previous Helix-Server (or plugin) distribution, review Helix-Server API definition
Guide Version 1.8.0 or previous.
The software described in this document is provided under license. The software may
only be used or copied in the cases described in the license agreement. Whole or part
reproduction of this document, in any form, electronic or another, and for any purpose
whatsoever, without written authorization of Vaxtor is prohibited
Helix-Server - API definition - v4.0.1 Page 2 of 125
HELIX Server - API definition
Change log
Version Date Change Author
V.4.0.0 04/Jan/2024 Added Application Update process O,G.
v.4.0.1 04/Jan/2024 Minor changes O.G.
Helix-Server - API definition - v4.0.1 Page 3 of 125
HELIX Server - API definition
Table of contents
Change log 3
Table of contents 4
How to use this guide 7
REST API 7
How to build Helix API URIs 8
Helix Server API 11
Common Parameters and Response codes 11
Actuators 14
Audit 17
Authorization 17
Cameras 19
Aforo (Capacity) 21
Categories 22
Configurations 24
External 27
Grafana 29
Heartbeat 30
GDRP 31
Images 31
Linked Cameras 32
People 34
Plates 35
Plate lists 38
Plate list items 39
Regular expressions (Schedule) 41
Rollcall 42
Schedules 43
Sections 44
Time frames (Schedule) 47
Update 48
Users 49
Zones 51
Plugins API 53
Sanctions 53
File downloads 60
Audit record 60
Authorization 60
Category 61
GDPR 61
OCR plate images 61
Helix-Server - API definition - v4.0.1 Page 4 of 125
HELIX Server - API definition
OCR and environment images 61
People 62
Plates 62
Plate list items 63
File upload 64
Authorization 64
Category 64
Image upload 64
People 65
Person Image 65
Plate list items 65
SignalR messaging 67
Common 67
Messages bodies 67
Data models 70
Common elements 70
Actuators 71
Audit 72
Aforo 73
Authorization 74
Cameras 76
Category 78
Configuration 79
External data 90
Grafana 90
Heartbeats 90
Images 92
Linked Cameras 94
Listitem 94
Person 96
Plates 98
Plate lists 100
Regular expression (AuthExpression) 102
Rollcall 102
Schedule 104
Section 104
Timeframe 105
Update 107
User 107
Zone 109
Plugins data models 112
Sanctions Plugin 112
Export sanctions 115
Helix-Server - API definition - v4.0.1 Page 5 of 125
HELIX Server - API definition
Filter keys 117
Notes 117
Audits 117
Authorizations 117
Category 118
Person 118
Plates 118
Plate list items 119
Rollcall 120
Claims 121
Accesses allowed 121
Annexes 124
How to use Postman 124
How to use Swagger 125
Helix-Server - API definition - v4.0.1 Page 6 of 125
HELIX Server - API definition
How to use this guide
REST API
REST API Verbs
Verb /camera /camera/1234 /camera/all
POST (Create) Create a new Camera Error 405 Error 405
whose data are included in
body
GET (Read) Paged list of Cameras Camera with ID = 1234 List of all Cameras
PUT (Update) Update Camera whose Update Camera with ID = Error 405
data are included in body (It 1234 and whose data are
must have ID) included in body
NOTE: If body data
include ID, Helix will
ignore it.
DELETE Error 405 Delete Camera ID = 1234 Error 405
Request & Response
Operation Verb Recommendation Response
Update a PUT ● Need ID in order to submit ● 201 (OK), with data
resource the request ● 404 (Not found)
● Idempotent and not safe (has
side effect) operation
● Not necessary to return a link
via a Location header
Creation of new POST ● Not idempotent and not safe ● 201 Request accepted
resource
Read GET ● Idempotent and safe ● 200 (OK), with data
operation ● 404 (Not found)
Deleting a DELETE ● Idempotent and not safe ● 200 (OK), without data
resource operation ● 404 (Not found)
HTTP REST URI
● The protocol identifies the transport scheme that will be used to process and
respond to the request.
● The host name identifies the server address of the resource.
Helix-Server - API definition - v4.0.1 Page 7 of 125
HELIX Server - API definition
● The path and query string can be used to identify and customize the accessed
resource.
● The body (not showed) transports transaction data to server.
● HTTP is built in with a set of status codes for various types of scenarios:
○ 2xx Success (200 OK, 201 Created…)
○ 3xx Redirection (303 See other)
○ 4xx Client error (404 Not Found)
○ 5xx Server error (500 Internal Server Error)
How to build Helix API URIs
Query string
Helix-Server - API definition - v4.0.1 Page 8 of 125
HELIX Server - API definition
Filters
Bodies: Request & Response
Helix-Server - API definition - v4.0.1 Page 9 of 125
HELIX Server - API definition
Paged responses
Helix-Server - API definition - v4.0.1 Page 10 of 125
HELIX Server - API definition
Helix Server API
Common Parameters and Response codes
API Key parameter
Important!:
● All API calls must send Api Key to server using ONE of following alternatives
Parameter Description Where Required Type Format
x-api-key API key Header true
ApiKey API Key Query true string string
Paging parameters
Parameter Description Where Required Type Format
sortKey Column name to sort records Query false string string
sortDir Sort direction: Query false string string
ASC (ascendent) |,
DESC (descendent)
page Page number Query false integer int32
pageSize Records per page Query false integer int32
Download CSV - Filtering and Columns
Parameter Description Where Required Type Format
columns Comma (,) separated names of Query false string string
columns
sortKey Column name to sort records Query false string string
sortDir Sort direction: Query false string string
ASC (ascendent) |,
DESC (descendent)
filterKey List of search criteria names Query false string string
See Filter Keys
filterValue List of search criteria values Query false string string
See Filter Keys.
Helix-Server - API definition - v4.0.1 Page 11 of 125
HELIX Server - API definition
Paging and Filtering parameters
Parameter Description Where Required Type Format
sortKey Column name to sort Records Query false string string
sortDir Sort direction: Query false string string
ASC (ascendent) |,
DESC (descendent)
page Page number Query false integer int32
pageSize Records per page Query false integer int32
filterKey List of search criteria names Query false string string
See Filter Keys
filterValue List of search criteria values Query false string string
See Filter Keys.
Upload file parameter
Parameter Description Where Required Type Format
Content-Type multipart/form-data Header true
Response codes
Note:
● The server responses to API calls could have one of these codes.
● Following pages just document the correct responses.
Code Description Body response
200 Ok (GET DELETE) Relative to Route/Endpoint and Method.
201 Ok (POST) Relative to Route/Endpoint
202 Ok (PUT) Relative to Route/Endpoint
400 Bad Request String with error. Example:
"Unexpected character encountered while
parsing value: l. Path '', line 0, position
0."
401 Unauthorized JSON with error. Example:
{
"error": "Unauthorized"
}
403 Forbidden Empty
404 Not found JSON with error. Example:
{
"statusCode": "notFound",
"message": "The resource you have requested
Helix-Server - API definition - v4.0.1 Page 12 of 125
HELIX Server - API definition
Response codes
cannot be found.",
"details": "Error details are currently
disabled. Please set
<code>StaticConfiguration.DisableErrorTraces =
false;</code> to enable."
}
405 Method not
allowed
500 Bad request JSON with error. Example:
{
"message": "Error message",
"description":"Error description"
}
App URL
URL Description Example
baseURL Application URL <http|https>://<ip>:<port><folder>
NOTE:
● port value:
○ See ServerConfig field helix6port.
● folder value:
○ As default: /helix
○ Customized value, add the following line to the config.xml file:
<Helix6BaseUrl>/other_value</Helix6BaseUrl>
○ If you do not want to use a folder, put the next line in the config.xml file:
<Helix6BaseUrl></Helix6BaseUrl>
Helix-Server - API definition - v4.0.1 Page 13 of 125
HELIX Server - API definition
Actuators
Actuators
GET {baseURL}/api/actuator/{id}
Description Get actuator by ID
Parameter Description Where Required Type Format
id Actuator ID Path true integer int32
Response
Code Description Body response
200 actuator record Actuator
GET {baseURL}/api/actuator/all
Description Get all Actuators
Response
Code Description Body response
200 All Actuators List of Actuator
GET {baseURL}/api/actuator/{id}/test
Description Test actuator connection by ID
Parameter Description Where Required Type Format
id Actuator ID Path true integer int32
Response
Code Description Body response
200 Connection OK
POST {baseURL}/api/actuator
Description Create a new Actuator
Parameter Description Where Required Type Format
Actuator New Actuator record, excluded ID Body true Actuator JSON
Response
Code Description Body response
201 Actuator record, included new ID Actuator
Helix-Server - API definition - v4.0.1 Page 14 of 125
HELIX Server - API definition
PUT {baseURL}/api/actuator
Description Update Actuator
Parameter Description Where Required Type Format
Actuator Actuator record Body true Actuator JSON
Response
Code Description Body response
202 Update Actuator record, Actuator
DELETE {baseURL}/api/actuator/{id}
Description Delete Actuator by ID
Parameter Description Where Required Type Format
id Actuator ID path true integer int32
Response
Code Description Body response
200 Ok Empty
Actuator Link
GET {baseURL}/api/actuatorlink/{id}
Description Get Actuator link by ID
Parameter Description Where Required Type Format
id Actuator link ID Path true integer int32
Response
Code Description Body response
200 Actuator link record ActuatorLink
GET {baseURL}/api/actuatorlink/all
Description Get all Actuator links
Response
Code Description Body response
200 All Actuator links List of ActuatorLink
POST {baseURL}/api/actuatorlink
Helix-Server - API definition - v4.0.1 Page 15 of 125
HELIX Server - API definition
Description Create a new Actuator link
Parameter Description Where Required Type Format
Actuator New Actuator link recor Body true ActuatorLink JSON
link excluded ID
Response
Code Description Body response
201 Actuator Actuator link, included new ID ActuatorLink
PUT {baseURL}/api/actuatorlink
Description Update Actuator link
Parameter Description Where Required Type Format
Actuator link Actuator link record Body true ActuatorLink JSON
Response
Code Description Body response
202 Update Actuator link record, ActuatorLink
DELETE {baseURL}/api/actuatorlink/{id}
Description Delete Actuator link by ID
Parameter Description Where Required Type Format
id Actuator link ID path true integer int32
Response
Code Description Body response
200 Ok Empty
Actuators Valid types
GET {baseURL}/api/actuator/validtypes
Description Get all valid types of Actuators
Response
Code Description Body response
200 All valid types Actuators List of String
Helix-Server - API definition - v4.0.1 Page 16 of 125
HELIX Server - API definition
Audit
GET {baseURL}/api/audit
Description Get Audit records by pages - Only for admin users
Filter Filter keys (Audits)
Include Paging and Filtering parameters (optionals)
Response
Code Description Body response
200 Filtered and paged Audit records PageAudit
GET {baseURL}/api/audit/{id}
Description Get Audit records by ID - Only for admin users
Parameter Description Where Required Type Format
id Audit ID path true integer int32
Response
Code Description Body response
200 Audit Record Audit
GET {baseURL}/api/audit/all
Description Get all Audit records. Only for admin users
Be careful! Could be thousand of registers
Include API Key parameter (required)
Response
Important!: Audit could have thousand of records
Code Description Body response
200 All audit records. List of Audit.
Authorization
GET {baseURL}/api/authorization
Description Get Authorizations by pages.
Include Paging parameters (optional)
Helix-Server - API definition - v4.0.1 Page 17 of 125
HELIX Server - API definition
Response
Code Description Body response
200 Paged Authorization records PageAuthorization
GET {baseURL}/api/authorization/{id}
Description Get authorization by ID
Parameter Description Where Required Type Format
id Authorization ID Path true integer int32
Response
Code Description Body response
200 Authorization record Authorization
GET {baseURL}/api/authorization/all
Description Get all Authorizations
Response
Code Description Body response
200 All Authorizations List of Authorization.
POST {baseURL}/api/authorization
Description Create a new Authorization
Parameter Description Where Required Type Format
authorization New authorization record, Body true Authorization JSON
excluded ID
Response
Code Description Body response
201 Created authorization record, Included new ID Authorization
PUT {baseURL}/api/authorization
Description Update Authorization
Parameter Description Where Required Type Format
authorization Authorization record Body true Authorization JSON
Helix-Server - API definition - v4.0.1 Page 18 of 125
HELIX Server - API definition
Response
Code Description Body response
201 Updated authorization record Authorization
DELETE {baseURL}/api/authorization/{id}
Description Delete Authorization by ID
Parameter Description Where Required Type Format
id authorization ID path true integer int32
Response
Code Description Body response
200 Ok Empty
Cameras
GET {baseURL}/api/camera
Description Get Camera by pages.
Include Paging parameters (optional)
Response
Code Description Body response
200 Paged Camera records PageCamera
GET {baseURL}/api/camera/{id}
Description Get camera by ID
Parameter Description Where Required Type Format
id Camera ID Path true integer int32
Response
Code Description Body response
200 Camera record Camera
Helix-Server - API definition - v4.0.1 Page 19 of 125
HELIX Server - API definition
GET {baseURL}/api/camera/all
Description Get all Cameras
Response
Code Description Body response
200 All Cameras List of Camera.
POST {baseURL}/api/camera
Description Create a new Camera
Parameter Description Where Required Type Format
camera New camera record, excluded ID Body true Camera JSON
Response
Code Description Body response
201 Camera record, included new ID Camera
PUT {baseURL}/api/camera
Description Update Camera
Parameter Description Where Required Type Format
camera Camera record Body true Camera JSON
Response
Code Description Body response
202 Updated Camera record Camera
DELETE {baseURL}/api/camera/{id}
Description Delete camera by ID
Parameter Description Where Required Type Format
id Camera ID path true integer int32
Response
Code Description Body response
200 Ok Empty
Helix-Server - API definition - v4.0.1 Page 20 of 125
HELIX Server - API definition
Aforo (Capacity)
GET {baseURL}/api/aforo/{id}
Description Get capacity (aforo) by ID
Parameter Description Where Required Type Format
id Aforo ID Path true integer int32
Response
Code Description Body response
200 Aforo record Aforo
GET {baseURL}/api/aforo/all
Description Get all Capacities (Aforos)
Response
Code Description Body response
200 All Aforos List of Aforo
POST {baseURL}/api/aforo
Description Create a new Capacity (Aforo)
Parameter Description Where Required Type Format
aforo New Aforo record, excluded ID Body true Aforo JSON
Response
Code Description Body response
201 Aforo record, included new ID Aforo
PUT {baseURL}/api/aforo
Description Update Capacity (Aforo)
Parameter Description Where Required Type Format
aforo Aforo record Body true Aforo JSON
Response
Code Description Body response
202 Updated Aforo record Aforo
Helix-Server - API definition - v4.0.1 Page 21 of 125
HELIX Server - API definition
DELETE {baseURL}/api/aforo/{id}
Description Delete Capacity (Aforo) by ID
Parameter Description Where Required Type Format
id Aforo ID path true integer int32
Response
Code Description Body response
200 Ok Empty
Categories
GET {baseURL}/api/category
Description Get Categories by pages.
Include Paging parameters (optional)
Response
Code Description Body response
200 Paged Category records PageCategory
GET {baseURL}/api/category/{id}
Description Get Category by ID
Parameter Description Where Required Type Format
id Category ID Path true integer int32
Response
Code Description Body response
200 Category record Category
GET {baseURL}/api/category/all
Description Get all Categories
Response
Code Description Body response
200 All Categories List of Category
Helix-Server - API definition - v4.0.1 Page 22 of 125
HELIX Server - API definition
POST {baseURL}/api/category
Description Create a new Category
Parameter Description Where Required Type Format
aforo New Category record, excluded ID Body true Category JSON
Response
Code Description Body response
201 Category record, included new ID Category
PUT {baseURL}/api/category
Description Update Category
Parameter Description Where Required Type Format
aforo Category record Body true Category JSON
Response
Code Description Body response
202 Updated Category record Category
DELETE {baseURL}/api/category/{id}
Description Delete Category by ID
Parameter Description Where Required Type Format
id Category ID path true integer int32
Response
Code Description Body response
200 Ok Empty
Helix-Server - API definition - v4.0.1 Page 23 of 125
HELIX Server - API definition
Configurations
Alert Config
GET {baseURL}/api/config/alert
Description Get Alert config
Response
Code Description Body response
200 Alert config record AlertConfig
PUT {baseURL}/api/config/alert
Description Update alert configuration
Parameter Description Where Required Type Format
plate Alert config record Body true AlertConfig JSON
Response
Code Description Body response
202 Updated Alert config record AlertConfig
LDAP Config
GET {baseURL}/api/config/ldap
Description Get LDAP config
Response
Code Description Body response
200 LDAP config record LDAPConfig
PUT {baseURL}/api/config/ldap
Description Update LDAP configuration
Parameter Description Where Required Type Format
plate Alert config record Body true LDAPConfig JSON
Response
Code Description Body response
202 Updated LDAP config record LDAPConfig
Helix-Server - API definition - v4.0.1 Page 24 of 125
HELIX Server - API definition
Plate Manager Config
GET {baseURL}/api/config/plateManager
Description Get Plate manager config
Response
Code Description Body response
200 Plate manager config record PlateMngConfig
PUT {baseURL}/api/config/plateManager
Description Update Plate manager configuration
Parameter Description Where Required Type Format
plateMngConfig Plate Mngr config record Body true PlateMngConfig JSON
Response
Code Description Body response
202 Plate manager config record PlateMngConfig
Server Config
GET {baseURL}/api/config/server
Description Get Server config
Response
Code Description Body response
200 Server config record ServerConfig
PUT {baseURL}/api/config/server
Description Update Server configuration
Parameter Description Where Required Type Format
serverConfig Server config record Body true ServerConfig JSON
Response
Code Description Body response
202 Updates Server Config record ServerConfig
Helix-Server - API definition - v4.0.1 Page 25 of 125
HELIX Server - API definition
SMTP Config
GET {baseURL}/api/config/SMTP
Description Get SMTP config
Response
Code Description Body response
200 SMTP config record SMTPConfig
PUT {baseURL}/api/config/SMTP
Description Update SMTP configuration
Parameter Description Where Required Type Format
SMTPConfig SMTP config record Body true SMTPConfig JSON
Response
Code Description Body response
202 Updated SMTP config record SMTPConfig
SMTP Test
GET {baseURL}/api/config/smtptest
Description Get SMTP config
Response
Code Description Body response
200 SMTP config record SMTPTest
PUT {baseURL}/api/config/smtptest
Description Update SMTP configuration
Parameter Description Where Required Type Format
SMTPConfig SMTP config record Body true SMTPTest JSON
Response
Code Description Body response
202 Updated SMTP config record SMTPTest
Helix-Server - API definition - v4.0.1 Page 26 of 125
HELIX Server - API definition
Telegram config
GET {baseURL}/api/config/telegram
Description Get Telegram config
Response
Code Description Body response
200 Telegram config record Telegram Config
PUT {baseURL}/api/config/telegram
Description Update Telegram configuration
Parameter Description Where Required Type Format
TelegramConfig Telegram config record Body true Telegram Config JSON
Response
Code Description Body response
202 Updated Telegram config record Telegram Config
External
GET {baseURL}/api/external
Description Get External data by pages.
Include Paging parameters (optional)
Response
Code Description Body response
200 Paged External data records See Page External
GET {baseURL}/api/external/{id}
Description Get External data by ID
Parameter Description Where Required Type Format
id External data ID Path true integer int32
Response
Code Description Body response
200 External data record See External
Helix-Server - API definition - v4.0.1 Page 27 of 125
HELIX Server - API definition
GET {baseURL}/api/external/all
Description Get all External data
Response
Code Description Body response
200 All External data List of External
POST {baseURL}/api/category
Description Create a new External data
Parameter Description Where Required Type Format
aforo New External data record, Body true External JSON
excluded ID
Response
Code Description Body response
201 Category record, included new ID External
PUT {baseURL}/api/category
Description Update External data
Parameter Description Where Required Type Format
aforo External data record Body true External JSON
Response
Code Description Body response
202 Updated External data record External
DELETE {baseURL}/api/category/{id}
Description Delete External data by ID
Parameter Description Where Required Type Format
id External data ID path true integer int32
Response
Code Description Body response
200 Ok Empty
Grafana
Helix-Server - API definition - v4.0.1 Page 28 of 125
HELIX Server - API definition
GET {baseURL}/api/grafana/{id}
Description Get grafana configuration by User.
With ID equal to the user ID
Parameter Description Where Required Type Format
id user ID Path true integer int32
Response
Code Description Body response
200 Image record Grafana
POST {baseURL}/api/grafana
Description Create a new Grafana configuration
Parameter Description Where Required Type Format
grafana New grafana record, excluded Body true Grafana JSON
ID
Response
Code Description Body response
201 Grafana record, included new ID Grafana
PUT {baseURL}/api/grafana
Description Update Grafana configuration
Parameter Description Where Required Type Format
grafana Grafana record Body true Grafana JSON
Response
Code Description Body response
202 Updated Grafana record Grafana
Helix-Server - API definition - v4.0.1 Page 29 of 125
HELIX Server - API definition
Heartbeat
NOTE: These methods are included for information only, since they are for the exclusive
use of VaxALPR applications embedded in cameras.
POST {baseURL}/api/heartbeat/
Description New Camera Heartbeat (update camera info)
Parameter Description Where Required Type Format
heartbeat Camera Heartbeat record, Body true Heartbeat JSON
including all heartbeat fields,
also Request.UserHostAddress
Response
Code Description Body response
200 Heartbeat response Heartbeat Response
POST {baseURL}/api/heartbeat/
Description New Camera Heartbeat (update camera info)
Parameter Description Where Required Type Format
heartbeat Camera Heartbeat record, Body true Heartbeat JSON
including the fields Config and
ConfigSHA
Response
Code Description Body response
200 Response
POST {baseURL}/api/heartbeat/
Description New Camera Heartbeat (update camera info)
Parameter Description Where Required Type Format
heartbeat Camera Heartbeat record, Body true Heartbeat JSON
including the field Frame
Response
Code Description Body response
200 Response
Helix-Server - API definition - v4.0.1 Page 30 of 125
HELIX Server - API definition
GDRP
DELETE {baseURL}/api/gdpr/{plateNumber}
Description Delete all Plate register with this plateNumber
Parameter Description Where Required Type Format
id plateNumber path true integer int32
Response
Code Description Body response
200 Ok Empty
Images
GET {baseURL}/api/image
Description Get Images by pages.
Include Paging parameters (optional)
Response
Code Description Body response
200 Paged Image records PageImage
GET {baseURL}/api/image/{id}
Description Get image by ID. With ID equal to:
● Plate - ocrImageId or
● Plate - envImageIds [i]
Parameter Description Where Required Type Format
id image ID Path true integer int32
Response
Code Description Body response
200 Image record Image
POST {baseURL}/api/image
Description Create a new Image
Parameter Description Where Required Type Format
image New image record, excluded ID Body true Image JSON
Helix-Server - API definition - v4.0.1 Page 31 of 125
HELIX Server - API definition
Response
Code Description Body response
201 Image record, included new ID Image
PUT {baseURL}/api/image
Description Update Image
Parameter Description Where Required Type Format
image Image record Body true Image JSON
Response
Code Description Body response
202 Updated Image record Image
Linked Cameras
GET {baseURL}/api/linkedCamera
Description Get People by pages.
Include Paging parameters (optional)
Response
Code Description Body response
200 Paged Linked Camera records PagedLinkedCameras
GET {baseURL}/api/linkedCamera/{id}
Description Get Linked Camera by ID
Parameter Description Where Required Type Format
id Linked Camera ID Path true integer int32
Response
Code Description Body response
200 Linked Camera record LinkedCamera
GET {baseURL}/api/linkedCamera/all
Description Get all Linked Cameras
Helix-Server - API definition - v4.0.1 Page 32 of 125
HELIX Server - API definition
Response
Code Description Body response
200 All Linked Cameras List of LinkedCamera
POST {baseURL}/api/linkedCamera
Description Create a new Linked Camera
Parameter Description Where Required Type Format
aforo New Linked Camera record, Body true LinkedCamera JSON
excluded ID
Response
Code Description Body response
201 Linked Camera record, included LinkedCamera
new ID
PUT {baseURL}/api/linkedCamera
Description Update Linked Camera
Parameter Description Where Required Type Format
aforo Linked Camera record Body true LinkedCamera JSON
Response
Code Description Body response
202 Updated Linked Camera record LinkedCamera
DELETE {baseURL}/api/linkedCamera/{id}
Description Delete Linked Camera by ID
Parameter Description Where Required Type Format
id Linked Camera ID path true integer int32
Response
Code Description Body response
200 Ok Empty
Helix-Server - API definition - v4.0.1 Page 33 of 125
HELIX Server - API definition
People
GET {baseURL}/api/person
Description Get People by pages.
Include Paging parameters (optional)
Response
Code Description Body response
200 Paged Person records PagePerson
GET {baseURL}/api/person/{id}
Description Get Person by ID
Parameter Description Where Required Type Format
id Person ID Path true integer int32
Response
Code Description Body response
200 Person record Person
GET {baseURL}/api/person/all
Description Get all People
Response
Code Description Body response
200 All People List of Person
POST {baseURL}/api/person
Description Create a new Person
Parameter Description Where Required Type Format
aforo New Person record, excluded ID Body true Person JSON
Response
Code Description Body response
201 Person record, included new ID Person
Helix-Server - API definition - v4.0.1 Page 34 of 125
HELIX Server - API definition
PUT {baseURL}/api/person
Description Update Person
Parameter Description Where Required Type Format
aforo Person record Body true Person JSON
Response
Code Description Body response
202 Updated Person record Person
DELETE {baseURL}/api/person/{id}
Description Delete Person by ID
Parameter Description Where Required Type Format
id Person ID path true integer int32
Response
Code Description Body response
200 Ok Empty
Plates
Plates
GET {baseURL}/api/plate
Description Get Plates by pages.
Filter Filter keys (Plates)
Include Paging and Filtering parameters (optionals)
Response
Code Description Body response
200 Filtered and paged Plate records PagePlate
GET {baseURL}/api/plate/{id}
Description Get plate by ID
Parameter Description Where Required Type Format
id plate ID path true integer int32
Response
Helix-Server - API definition - v4.0.1 Page 35 of 125
HELIX Server - API definition
Code Description Body response
200 Plate record Plate
PUT {baseURL}/api/plate
Description Update plate
Parameter Description Where Required Type Format
plate Plate record Body true Plate JSON
Response
Code Description Body response
202 Updated Plate record Plate
POST {baseURL}/api/plate
Description Create a new plate
Parameter Description Where Required Type Format
plate Plate record Body true Plate JSON
Notes
1. To create just the plate record, does not include
Response
Code Description Body response
202 Updated Plate record Plate
Associates
GET {baseURL}/api/plate/associates
Description Get associated Plates lists - Under license
Filter Filter keys (Plates)
Include Paging and Filtering parameters
Response
Code Description Body response
200 List of associates Plate List of Plate
Helix-Server - API definition - v4.0.1 Page 36 of 125
HELIX Server - API definition
Plate lists
GET {baseURL}/api/platelist
Description Get Platelist by pages.
Include Paging parameters (optional)
Response
Code Description Body response
200 Paged Platelist records PagePlatelist
GET {baseURL}/api/platelist/{id}
Description Get Platelist by ID
Parameter Description Where Required Type Format
id Platelist ID Path true integer int32
Response
Code Description Body response
200 Platelist record Platelist
GET {baseURL}/api/platelist/all
Description Get all Platelists
Response
Code Description Body response
200 All recorded Platelists List of Platelist
POST {baseURL}/api/platelist
Description Create a new Platelist
Parameter Description Where Required Type Format
platelist New Platelist record, excluded ID Body true Platelist JSON
Response
Code Description Body response
201 Platelist record, included new ID Platelist
Helix-Server - API definition - v4.0.1 Page 37 of 125
HELIX Server - API definition
PUT {baseURL}/api/platelist
Description Update Platelist
Parameter Description Where Required Type Format
platelist Platelist record Body true Platelist JSON
Response
Code Description Body response
202 Updated platelist record Platelist
DELETE {baseURL}/api/platelist/{id}
Description Delete Platelist by ID
Parameter Description Where Required Type Format
id Platelist ID path true integer int32
Response
Code Description Body response
200 Ok Empty
Plate list items
GET {baseURL}/api/listitem
Description Get Listitems by pages.
Filter List Items filter keys
Include Paging and Filtering parameters (optionals)
Response
Code Description Body response
200 Filtered and paged Listitem records PageListitem
GET {baseURL}/api/listitem/{id}
Description Get Listitem by ID
Parameter Description Where Required Type Format
id Listitem ID Path true integer int32
Helix-Server - API definition - v4.0.1 Page 38 of 125
HELIX Server - API definition
Response
Code Description Body response
200 Listitem record Listitem
GET {baseURL}/api/listitem/all
Description Get all Listitems
Response
Code Description Body response
200 All Listitems List of Listitem
POST {baseURL}/api/listitem
Description Create a new Listitem
Parameter Description Where Required Type Format
listitem New listitem record, excluded ID Body true Listitem JSON
Response
Code Description Body response
201 Listitem record, included new ID Listitem
PUT {baseURL}/api/listitem
Description Update Listitem
Parameter Description Where Required Type Format
listitem Listitem record Body true Listitem JSON
Response
Code Description Body response
202 Updated Listitem record Listitem
DELETE {baseURL}/api/listitem/{id}
Description Delete Listitem by ID
Parameter Description Where Required Type Format
id Listitem ID path true integer int32
Helix-Server - API definition - v4.0.1 Page 39 of 125
HELIX Server - API definition
Response
Code Description Body response
200 Ok Empty
Regular expressions (Schedule)
GET {baseURL}/api/authExpression
Description Get the Regular expressions by pages.
Include Paging parameters (optional)
Response
Code Description Body response
200 Paged the Regular expression records PageAuthExpression
GET {baseURL}/api/authExpression/{id}
Description Get Timeframe by ID
Parameter Description Where Required Type Format
id authEpression ID Path true integer int32
Response
Code Description Body response
200 the Regular expressions record AuthExpression
GET {baseURL}/api/authExpression/all
Description Get all Regular expressions
Response
Code Description Body response
200 All Regular expressions List of AuthExpression
POST {baseURL}/api/authExpression
Description Create a new Regular expression
Parameter Description Where Required Type Format
AuthExpre New Regular expressions record, Body true AuthExpr JSON
ssion excluded ID ession
Response
Helix-Server - API definition - v4.0.1 Page 40 of 125
HELIX Server - API definition
Code Description Body response
201 the Regular expressions record, AuthExpression
included new ID
PUT {baseURL}/api/authExpression
Description Update Timeframe
Parameter Description Where Required Type Format
AuthExpressio the Regular expressions Body true AuthExpre JSON
n record ssion
Response
Code Description Body response
202 Updated Timeframe record Timeframe
DELETE {baseURL}/api/authExpression/{id}
Description Delete a Regular expression by ID
Parameter Description Where Required Type Format
id the Regular path true integer int32
expressions ID
Response
Code Description Body response
200 Ok Empty
Rollcall
GET {baseURL}/api/rollcall
Description Get Rollcals by pages.
Include Paging parameters (optional)
Response
Code Description Body response
200 Paged Rollcal records PageRollcall
GET {baseURL}/api/rollcall/all
Description Get all Rollcal
Response
Helix-Server - API definition - v4.0.1 Page 41 of 125
HELIX Server - API definition
Code Description Body response
200 All Rollcal List of Rollcall
DELETE {baseURL}/api/rollcall/{id}
Description Delete Person by ID
Parameter Description Where Required Type Format
id Rollcal ID path true integer int32
Response
Code Description Body response
200 Ok Empty
Schedules
GET {baseURL}/api/schedule
Description Get Schedules by pages.
Include Paging parameters (optional)
Response
Code Description Body response
200 Paged Schedule records PageSchedule
GET {baseURL}/api/schedule/{id}
Description Get Schedule by ID
Parameter Description Where Required Type Format
id schedule ID Path true integer int32
Response
Code Description Body response
200 Schedule record Schedule
GET {baseURL}/api/schedule/all
Description Get all Schedules
Response
Code Description Body response
Helix-Server - API definition - v4.0.1 Page 42 of 125
HELIX Server - API definition
200 All Schedules List of Schedule
POST {baseURL}/api/schedule
Description Create a new Schedule
Include API Key parameter (required)
Parameter Description Where Required Type Format
schedule New Schedule record, excluded ID Body true Schedule JSON
Response
Code Description Body response
201 Schedule record, included new ID Schedule
PUT {baseURL}/api/schedule
Description Update Schedule
Parameter Description Where Required Type Format
schedule Schedule record Body true Schedule JSON
Response
Code Description Body response
202 Updated Schedule record Schedule
DELETE {baseURL}/api/schedule/{id}
Description Delete schedule by ID
Parameter Description Where Required Type Format
id Schedule ID path true integer int32
Response
Code Description Body response
200 Ok Empty
Sections
GET {baseURL}/api/section
Description Get Sections by pages.
Include Paging parameters (optional)
Helix-Server - API definition - v4.0.1 Page 43 of 125
HELIX Server - API definition
Response
Code Description Body response
200 Paged Section records PageSection
GET {baseURL}/api/section/{id}
Description Get Section by ID
Parameter Description Where Required Type Format
id Section ID Path true integer int32
Response
Code Description Body response
200 Section record Section
GET {baseURL}/api/section/all
Description Get all Sections
Helix-Server - API definition - v4.0.1 Page 44 of 125
HELIX Server - API definition
Response
Code Description Body response
200 All Sections List of Section
POST {baseURL}/api/section
Description Create a new Section
Parameter Description Where Required Type Format
section New section record, excluded ID Body true Section JSON
Response
Code Description Body response
201 Section record, included new ID Section
PUT {baseURL}/api/section
Description Update Section
Parameter Description Where Required Type Format
section Section record Body true Section JSON
Response
Code Description Body response
202 Updated Section record Section
DELETE {baseURL}/api/section/{id}
Description Delete Section by ID
Parameter Description Where Required Type Format
id Section ID path true integer int32
Response
Code Description Body response
200 Ok Empty
Helix-Server - API definition - v4.0.1 Page 45 of 125
HELIX Server - API definition
Time frames (Schedule)
GET {baseURL}/api/timeframe
Description Get Timeframe by pages.
Include Paging parameters (optional)
Response
Code Description Body response
200 Paged Timeframe records PageTimeframe
GET {baseURL}/api/timeframe/{id}
Description Get Timeframe by ID
Parameter Description Where Required Type Format
id Timeframe ID Path true integer int32
Response
Code Description Body response
200 Timeframe record Timeframe
GET {baseURL}/api/timeframe/all
Description Get all Timeframes
Response
Code Description Body response
200 All Timeframes List of Timeframe
POST {baseURL}/api/timeframe
Description Create a new Timeframe
Parameter Description Where Required Type Format
timeframe New Timeframe record, excluded ID Body true Timeframe JSON
Response
Code Description Body response
201 Timeframe record, included new ID Timeframe
Helix-Server - API definition - v4.0.1 Page 46 of 125
HELIX Server - API definition
PUT {baseURL}/api/timeframe
Description Update Timeframe
Parameter Description Where Required Type Format
timeframe Timeframe record Body true Timeframe JSON
Response
Code Description Body response
202 Updated Timeframe record Timeframe
DELETE {baseURL}/api/timeframe/{id}
Description Delete Timeframe by ID
Parameter Description Where Required Type Format
id Timeframe ID path true integer int32
Response
Code Description Body response
200 Ok Empty
Update
GET {baseURL}/api/update/1
Description Ask if there is an update.
Response
Code Description Body response
200 Update response update or null if there are not any update
404 If UpdateMode is “Off” or “On start”, or the Update Url is not configured.
POST {baseURL}/api/update/trigger
Description Trigger the current update
Response
Code Description
200 Update in progress
400 Configured update mode doesn't allows update on demand
or There is no update available
Helix-Server - API definition - v4.0.1 Page 47 of 125
HELIX Server - API definition
Users
GET {baseURL}/api/user
Description Get Users by pages.
Include Paging parameters (optional)
Response
Code Description Body response
200 Paged User records PageUser
GET {baseURL}/api/user/{id}
Description Get user by ID
Parameter Description Where Required Type Format
id User ID Path true integer int32
Response
Code Description Body response
200 User record User
GET {baseURL}/api/user/all
Description Get all Users
Response
Code Description Body response
200 All Users List of User
POST {baseURL}/api/user
Description Create a new User
Parameter Description Where Required Type Format
user New user record, excluded ID Body true User JSON
Response
Code Description Body response
201 User record, included new ID User
Helix-Server - API definition - v4.0.1 Page 48 of 125
HELIX Server - API definition
PUT {baseURL}/api/user
Description Update User
Parameter Description Where Required Type Format
user User record Body true User JSON
Response
Code Description Body response
202 Updated user record User
DELETE {baseURL}/api/user/{id}
Description Delete user by ID
Parameter Description Where Required Type Format
id User ID path true integer int32
Response
Code Description Body response
200 Ok Empty
Zones
GET {baseURL}/api/zone
Description Get Zones by pages.
Include Paging parameters (optional)
Response
Code Description Body response
200 Paged Zone records PageZone
GET {baseURL}/api/zone/{id}
Description Get Zone by ID
Parameter Description Where Required Type Format
id Zone ID Path true integer int32
Response
Code Description Body response
Helix-Server - API definition - v4.0.1 Page 49 of 125
HELIX Server - API definition
200 Zone record Zone
GET {baseURL}/api/zone/all
Description Get all Zones
Response
Code Description Body response
200 All Zones List of Zone
POST {baseURL}/api/zone
Description Create a new Zone
Parameter Description Where Required Type Format
zone New Zone record, excluded ID Body true Zone JSON
Response
Code Description Body response
201 Zone record, included new ID Zone
PUT {baseURL}/api/zone
Description Update Zone
Parameter Description Where Required Type Format
zone Zone record Body true Zone JSON
Response
Code Description Body response
202 Updated zone record Zone
DELETE {baseURL}/api/zone/{id}
Description Delete Zone by ID
Parameter Description Where Required Type Format
id Zone ID path true integer int32
Response
Code Description Body response
200 Ok Empty
Helix-Server - API definition - v4.0.1 Page 50 of 125
HELIX Server - API definition
Plugins API
Sanctions
Sanction config
GET {baseURL}/api/config/sanction
Description Get Sanctions configuration
Response
Code Description Body response
200 Sanction config record SanctionConfig
PUT {baseURL}/api/config/sanction
Description Update Sanctions configuration
Parameter Description Where Required Type Format
plate Sanction config record Body true SanctionConfig JSON
Response
Code Description Body response
202 Sanction config record SanctionConfig
Cancellations
GET {baseURL}/api/cancellation
Description Get cancellation by pages
Include Paging parameters (optional)
Response
Code Description Body response
200 Paged Cancellation records PageCancellation
GET {baseURL}/api/cancellation/{id}
Description Get Cancellation by ID
Parameter Description Where Required Type Format
id Cancellation ID Path true integer int32
Helix-Server - API definition - v4.0.1 Page 51 of 125
HELIX Server - API definition
Response
Code Description Body response
200 Cancellation record Cancellation
GET {baseURL}/api/cancellation/all
Description Get all Cancellations
Response
Code Description Body response
200 All Cancellations List of Cancellation.
POST {baseURL}/api/cancellation
Description Create a new Cancellation
Parameter Description Where Required Type Format
Cancellation New Cancellation Body true Cancellation JSON
record, excluded ID
Response
Code Description Body response
201 Cancellation record, included new ID Cancellation.
PUT {baseURL}/api/cancellation
Description Update Cancellation
Parameter Description Where Required Type Format
Cancellation Cancellation record Body true Cancellation JSON
Response
Code Description Body response
202 Update Cancellation record, Cancellation
DELETE {baseURL}/api/cancellation/{id}
Description Delete Cancellation by ID
Parameter Description Where Required Type Format
id Cancellation ID path true integer int32
Helix-Server - API definition - v4.0.1 Page 52 of 125
HELIX Server - API definition
Response
Code Description Body response
200 Ok Empty
Sanctions
GET {baseURL}/api/sanction
Description Get Sanctions by pages
Include Paging parameters (optional)
Response
Code Description Body response
200 Paged Sanction records PageSanction
GET {baseURL}/api/sanction/{id}
Description Get sanction by ID
Parameter Description Where Required Type Format
id Sanction ID Path true integer int32
Response
Code Description Body response
200 Sanction record Sanction
GET {baseURL}/api/sanction/all
Description Get all Sanctions
Response
Code Description Body response
200 All Sanctions List of Sanction
POST {baseURL}/api/sanction
Description Create a new Sanction
Parameter Description Where Required Type Format
sanction New Sanction record, excluded ID Body true Sanction JSON
Helix-Server - API definition - v4.0.1 Page 53 of 125
HELIX Server - API definition
Response
Code Description Body response
201 Sanction record, included new ID Sanction
PUT {baseURL}/api/sanction
Description Update Sanction
Parameter Description Where Required Type Format
sanction Sanction record Body true Sanction JSON
Response
Code Description Body response
202 Update Sanction record, Sanction
DELETE {baseURL}/api/sanction/{id}
Description Delete Sanction by ID
Parameter Description Where Required Type Format
id Sanction ID path true integer int32
Response
Code Description Body response
200 Ok Empty
Camera Sanctions
GET {baseURL}/api/camerasanction/{id}
Description Get Camera-sanctions by ID
Parameter Description Where Required Type Format
id Camera-sanctions ID Path true integer int32
Response
Code Description Body response
200 Camera-sanctions record CameraSanctions
GET {baseURL}/api/camerasanction/all
Description Get all Camera-sanctions
Response
Helix-Server - API definition - v4.0.1 Page 54 of 125
HELIX Server - API definition
Code Description Body response
200 All Camera-sanctions records List of CameraSanctions
POST {baseURL}/api/camerasanction
Description Create a new Camera-sanctions
Parameter Description Where Required Type Format
sanction New Camera-sanctions Body true CameraSanctions JSON
record, excluded ID
Response
Code Description Body response
201 Cameraanction record, included new ID CameraSanctions
PUT {baseURL}/api/camerasanction
Description Update Camera-sanction
Parameter Description Where Required Type Format
sanction Updated Camera- Body true CameraSanctions JSON
sanctions record,
Response
Code Description Body response
202 Update Camera-sanction record, CameraSanctions
DELETE {baseURL}/api/camerasanction/{id}
Description Delete Camera-sanctions by ID
Parameter Description Where Required Type Format
id Camera-sanctions ID path true integer int32
Response
Code Description Body response
200 Ok Empty
Helix-Server - API definition - v4.0.1 Page 55 of 125
HELIX Server - API definition
Plate Sanctions
GET {baseURL}/api/platesanction
Description Get Plate-sanctions by pages.
Include Paging parameters (optional)
Response
Code Description Body response
200 Paged Plate-sanctions records PagePlateSanctions
GET {baseURL}/api/platesanction/{id}
Description Get Plate-sanctions by ID
Parameter Description Where Required Type Format
id Plate-sanctions ID Path true integer int32
Response
Code Description Body response
200 Plate-sanctions record PlateSanctions
POST {baseURL}/api/platesanction
Description Create a new Plate-sanction
Parameter Description Where Required Type Format
plateSanction New Plate-sanction Body true PlateSanctions JSON
record, excluded ID
Response
Code Description Body response
201 Plate-sanction record, included new ID PlateSanctions
PUT {baseURL}/api/platesanction
Description Update Camera-sanction
Parameter Description Where Required Type Format
sanction Updated PLate- Body true PlateSanctions JSON
sanctions record,
Helix-Server - API definition - v4.0.1 Page 56 of 125
HELIX Server - API definition
Response
Code Description Body response
202 Updated Plate-sanction record, PlateSanctions
Helix-Server - API definition - v4.0.1 Page 57 of 125
HELIX Server - API definition
File downloads1
Audit record
GET {baseURL}/api/audit/export.csv
Description Get audit records - Only for admin users
Filter Filter keys (Audits)
Include Download CSV - Filtering and Columns
See columns names in Audit
Response
Important!: Audit could have thousand of records
Code Description
200 CSV file with header including selected columns of filtered Audit records.
Authorization
GET {baseURL}/api/authorization/export.csv
Description Get all or filtered items from Authorization in CSV format
Filter Authorizations filter keys
Include Download CSV - Filtering and Columns.
See columns names in Authorization
Response
Code Description
200 CSV file with header including selected columns of filtered Authorization
records.
1
Must include API Key parameter.
Helix-Server - API definition - v4.0.1 Page 58 of 125
HELIX Server - API definition
Category
GET {baseURL}/api/category/export.csv
Description Get all or filtered items from Category in CSV format
Filter Filter keys (Category)
Include Download CSV - Filtering and Columns
See columns names in Category
Important!: Audit could have thousand of records
Code Description
200 CSV file with header including selected columns of filtered Category records.
GDPR
GET {baseURL}/api/gdpr/{plateNumber}
Description Get all items from Plates with Plate Number = plateNumber
Parameter Description Where Required Type Format
id plateNumber path true integer int32
Code Description
200 PDF file including selected records of Plate table.
OCR plate images
GET {baseURL}/PlateImages/{id}.jpg
Description Get JPG image clipping with plate., ID = Plate - ocrImageId.
Response
Code Description Body response
200 JPG image file binary JPG
OCR and environment images
GET {baseURL}/Images/{id}.jpg
Description Get a JPG image clipping with a plate.
With ID equal to:
● Plate - ocrImageId or
● Plate - envImageIds[i]
Helix-Server - API definition - v4.0.1 Page 59 of 125
HELIX Server - API definition
Response
Code Description Body response
200 JPG image file binary JPG
People
GET {baseURL}/api/person/export.csv
Description Get all or filtered items from Person in CSV format
Filter People filter keys
Include Download CSV - Filtering and Columns.
See columns names in People
Response
Code Description
200 CSV file with header including selected columns of filtered People records.
Plates
Registers
GET {baseURL}/api/plate/export.csv
Description Get all or filtered plates records in CSV format
Important!: Plates could have thousand of records
Filter Filter keys (Plates)
Include Download CSV Filtering and Columns.
See columns names in Plate
Response
Code Description
200 CSV file with header including selected columns of filtered Plate records.
Images
GET {baseURL}/api/plate/images.zip
Description Get all or filtered images plates records in ZIP format
Filter Filter keys (Plates)
Include Paging and Filtering parameters (optionals)
Response
Helix-Server - API definition - v4.0.1 Page 60 of 125
HELIX Server - API definition
Important!: Plates could have thousand of records
Code Description Body response
200 ZIP file, with Plate images records. zip file named export.zip with images
associated to export.csv
Plate list items
GET {baseURL}/api/listitem/export.csv
Description Get all or filtered items from plate list (black or white) in CSV format
Filter List Items filter keys
Include Download CSV - Filtering and Columns.
See columns names in Listitem
Response
Code Description
200 CSV file with header including selected columns of filtered Listitem records.
Helix-Server - API definition - v4.0.1 Page 61 of 125
HELIX Server - API definition
File upload
NOTES:
1. Must include API Key parameter (see API Key parameters)
2. Must include Upload file parameter (see Upload file parameter).
3. It must use a semicolon (;) as a field separator in CSV files.
Authorization
POST {baseURL}/api/authupload
Description Upload items from Authorization in CSV format
Parameter Description Where Required Type Format
CSV file CSV file with body true Authorization form-data
authorized plates CSV
Response
Code Description Body response
200 All new Authorization records. List of new Authorizations
Category
POST {baseURL}/api/categoryupload
Description Upload items from Authorization in CSV format
Parameter Description Where Required Type Format
CSV file CSV file with categories body true Category CSV form-data
Response
Code Description Body response
200 All new Categories records. List of new Category
Image upload
POST {baseURL}/api/imageupload/{id}
Description Upload image JPG format associated with Image ID (see Images)
Parameter Value Where Required Type Format
id Image ID path true integer int32
JPG image Image file body true JPG form-data
Helix-Server - API definition - v4.0.1 Page 62 of 125
HELIX Server - API definition
Response
Code Description Body response
200 Image record associated with uploaded image Image
People
POST {baseURL}/api/personupload/{id}
Description Upload image JPG format associated with Image ID (see Images)
Parameter Description Where Required Type Format
CSV file CSV file with People body true PersonCSV CSV file
Response
Code Description Body response
200 All new Person records. List of new People
Person Image
POST {baseURL}/api/personimageupload/{id}
Description Upload image JPG format associated with person ID (see Person)
Parameter Description Where Required Type Format
id Image ID path true integer int32
JPG image Image file body true JPG binary
Response
Code Description Body response
200 Image record associated with uploaded image Person
Plate list items
POST {baseURL}/api/listupload/{id}
Description Upload items from plate list (black or white) in CSV format
Parameter Description Where Required Type Format
id Plate list ID path true integer int32
CSV file CSV file with Listitems body true ListItemCSV CSV file
Helix-Server - API definition - v4.0.1 Page 63 of 125
HELIX Server - API definition
Response
Code Description Body response
200 All new Listitem records. List of Listitem
Helix-Server - API definition - v4.0.1 Page 64 of 125
HELIX Server - API definition
SignalR messaging
Common
Common schema
Field Type Example
name aforo | listitem | plate | alert | rollcall
| Update started | update restarting | Update failed
body JSON See message bodies
Messages bodies
Aforo message
Description Message with name aforo
Field Type Example
action created | updated | deleted
resource Aforo See Aforo
Listitem message
Description Message with name listitem (Blacklist event)
Field Type Example
action updated “updated”
resource Listitem See Listitem
Plate message
Description Message with name plate
Field Type Example
action created | updated
resource Plate See Plate
Helix-Server - API definition - v4.0.1 Page 65 of 125
HELIX Server - API definition
Alert message
Description Message with name alert
Field Type Example
plateId Integer( $int32 ) 1
itemId Integer( $int32 ) 1
type Blacklist | Speed | Prowling | Kamikaze | Timer | Adr
| NoAuthExceed | CameraConnection | CameraTimeSync |
CameraReset | CameraQueue | RoiCrossing |
ForbiddenTurn
plateNumber String “0933BFF”
description String “0933BFF”
cameraId Integer( $int32 ) 1
Description field format
Type Format
Blacklist { listItem.Description }
Speed { plate.Speed }
Prowling { Count of detection in Prowling zone }
Kamikaze { plate.Direction }
Timer { entrance_Plate.TakenOn }
Adr Not include info
NoAuthExceed { person.Title } { person.Forename } { person.Surname
} { person.Company } { person.IsVIP ? ", VIP" : "" }
CameraConnection { camera.Name } ({ zone.Name })
CameraTimeSync
CameraReset
CameraQueue
RoiCrossing Not include info
ForbiddenTurn { source_plate.id }
Helix-Server - API definition - v4.0.1 Page 66 of 125
HELIX Server - API definition
Rowcall message
Description Message with name rollcall
Field Type Example
action created | deleted
resource Rowcall See Rollcall
Update messages
Description Message associated with triggered update process
Name meaning
Update started Wait to restarting or failed message
Update restarting Wait for the application to restart and try to connect (or reload the
web) after some minutes.
Update failed Review the application and update logs.
Helix-Server - API definition - v4.0.1 Page 67 of 125
HELIX Server - API definition
Data models
Common elements
Paging response fields
Field Type Example
page Integer( $int32 ) 1
pageSize Integer( $int32 ) 20
sortKey String “id”
sortDirection String "ascending”
totalRecords Integer( $int32 ) 1268
Notes
DateTime DateTime fields are UTC time in ISO-8601 format encapsulated in String
format: "YYYY-MM-DDTHH:MM:SS.SSSSSZ" with HH in 24h format.
Null attributes When the Entity attribute is null in the database, Helix doesn't send this field in
response.
Helix-Server - API definition - v4.0.1 Page 68 of 125
HELIX Server - API definition
Actuators
Actuator
Field Type Example
id Integer( $int32 )
description String “Entrance control”
type String See Valid types.
iP String “192.168.0.3”
port Integer( $int32 ) 700
user String “admin”
password String “password”
channel Integer( $int32 ) 2
state Integer( $int32 )
period Integer( $int32 )
Actuator fields validators
Field Validation
type It must be a valid type (See Valid types)
description Not blank
iP Not blank
ValidTypes
Field Type Example
validTypes List of Valid Types List of valid types
Valid Types Adam6050Controller,
Adam6052Controller,
Adam6060Controller,
Adam6266Controller,
AxisController,
SkydataController,
VaxtorPanelController
, ...
Helix-Server - API definition - v4.0.1 Page 69 of 125
HELIX Server - API definition
ActuatorLink
Field Type Example
id Integer( $int32 )
cameraId Integer( $int32 )
actuatorsId List of Integer( $int32 )
eventType EventType
externalAuth Boolean false
ActuatorLink fields validators
Field Validation
cameraId Camera must exist
actuatorsId Actuators must exist
EventType authorized | blacklist
Audit
PageAudit
Include: Paging response fields.
Field Type
records Audit See Audit
Audit
Field Type Example
id Integer( $int32 ) 5
timestamp DateTime as String "2017-12-18T15:31:19.501154Z"
userId Integer( $int32 ) 1
sourceAddress String "152.72.151.145",
action String "GET /api/user/all"
details String "{\r\n \"page\": 1,\r\n
\"pageSize\": 10,\r\n
\"sortKey\": \"id\",\r\n
\"sortDirection\":
\"ascending\",\r\n
Helix-Server - API definition - v4.0.1 Page 70 of 125
HELIX Server - API definition
Audit
Field Type Example
\"totalRecords\": 0\r\n}"
failed Boolean false
Aforo
Aforo (Capacity)
Field Type Example
id Integer( $int32 ) 5
name String “Parking capacity”
entranceCameraIds List of Integer($int32) [ 1 ]
exitCameraIds List of Integer($int32) [ 2, 3 ]
count Integer( $int32 ) 0
resetTime DateTime as String “2017-12-31T23:59:59.00Z”
maxCount Integer( $int32 ) 100
ignoreCarDirection Boolean false
maxMinutesInZone Integer( $int32 ) 30
timeInZoneAlarm Boolean false
crosstime Boolean false
maxSearchTime Integer( $int32 ) 86400
resetAforo Boolean
denyIfFull Boolean
ignoreIfNotAuthorized Boolean
categoryId Integer( $int32 )
isVirtual Boolean
Aforo fields validators
Field Validation
name Not blank
entranceCameraIds Not empty collection
Helix-Server - API definition - v4.0.1 Page 71 of 125
HELIX Server - API definition
Aforo fields validators
Field Validation
exitCameraIds Not empty collection
resetTime Not null
maxMinutesInZone >= 1 && <= (24 * 60)
maxSearchTime >= 1 && <= (24 * 60 * 60 * 30)
Authorization
PageAuthorization
Include: Paging response fields.
Field Type
records Authorization See Authorization
Authorization
Field Type Example
id Integer( $int32 ) 5
plate String “0933BFF”
activeFrom DateTime as String “2017-01-01T00:00:00.00Z”
activeUntil DateTime as String “2017-12-31T23:59:59.00Z”
zoneSchedules List of ZoneSchedule See ZoneSchedule
zoneIds List of Integer($int32) [ 5 ]
description String “Visit”
comments String
personId Integer( $int32 )
lastSeen DateTime as String
lastSeenId Integer( $int32 )
tokens Integer( $int32 )
make String
model String
color String
Helix-Server - API definition - v4.0.1 Page 72 of 125
HELIX Server - API definition
Authorization
Field Type Example
isDisabled Boolean
Authorization CSV
Field Type Example
id Integer( $int32 ) 5
plate (+) String “0933BFF”
activeFrom (+) DateTime as String “2017-01-01T00:00:00.00Z”
activeUntil (+) DateTime as String “2017-12-31T23:59:59.00Z”
zoneSchedules List of ZoneSchedule See ZoneSchedule
description String “Visit”
comments String “”
isVip Boolean
personId Integer( $int32 )
tokens Integer( $int32 )
make String
model String
color String
isDisabled Boolean
(+) required
ZoneSchedule
Field Type Example
id Integer( $int32 )
zoneId Integer( $int32 ) 5
schedulesIds List of Integer($int32) [ 12, 15 ]
Helix-Server - API definition - v4.0.1 Page 73 of 125
HELIX Server - API definition
Authorization fields validators
Field Validation
plate Not blank
activeFrom Not null
activeUntil Null or activeFrom >= activeUntil
zoneSchedules Not null
personId Valid and existing person
make Not null
model Not null
color Not null
Cameras
PageCamera
Include: Paging response fields.
Field Type
records Camera See Camera
Camera
Field Type Example
id Integer( $int32 ) 7
name String “Test camera”
plateReaderId Integer( $int32 ) 2
type CameraType
address String “Po Castellana, 123 - Madrid”
zoneId Integer( $int32 ) 2
latitude Double 12.1234
longitude Double 12.1234
reportType ReportType
capturerId String 12
Helix-Server - API definition - v4.0.1 Page 74 of 125
HELIX Server - API definition
Camera
Field Type Example
expectedDirection ExpectedDirection
graceHour Integer( $int32 ) 0
roiId Integer( $int32 ) 7
overlayInfo String
serialNumber String
brand String
model String
remarks String
onError Boolean
firmwareVersion String
softwareVersion Sting
timeSync Boolean
pending Integer( $int32 )
reset Integer( $int32 )
config String
configSHA String
lastPing DateTime
lastFrame DateTime
lastHost String
downloadCameraConfig Boolean
UpdateFrameTimeout Integer( $int32 )
updateFrameQuality Integer( $int32 )
cameraFrame Integer( $int32 )
enableMaintenanceAlarms Boolean
Helix-Server - API definition - v4.0.1 Page 75 of 125
HELIX Server - API definition
Camera fields validators
Field Validation
name Not blank
zoneId Valid and existing zone
roiId 0 <= x <= 9
graceHour 0 <= x
Valid types
Field Validation
CameraType reader | environment
ReportType both | freeflow | signaled
ExpectedDirection Unknown | GettingCloser | GettingFarther | Stopped | Left |
Right
Category
PageCategory
Include: Paging response fields.
Field Type
records Category See Category
Category
Field Type Example
id Integer( $int32 )
name String
description String
zoneSchedules List of ZoneSchedule See ZoneSchedule
userIds List of Integer($int32) [ 5, 2 ]
color String
Helix-Server - API definition - v4.0.1 Page 76 of 125
HELIX Server - API definition
Category fields validators
Field Validation
name Not blank
zoneSchedules Not null
Description Not blank
userIds Valid list of existing users
Category CSV
Field Type Example
id Integer( $int32 ) 5
name (+) String “0933BFF”
Description (+) String
zoneSchedules List of ZoneSchedule “2017-12-31T23:59:59.00Z”
userIds List of Integer($int32) See ZoneSchedule
color String [ 5 ]
Configuration
AlertConfig
Field Type Example
id Integer($int32) 1
secondsBetweenAlerts Integer($int32) 0
sendEmailAlerts Boolean false
alertEmailFromName String “Helix-Server”
blacklistAlertEmailSubject String See Plates alerts templates
blacklistAlertEmailBody String See Plates alerts templates
speedAlertEmailSubject String See Plates alerts templates
speedAlertEmailBody String See Plates alerts templates
prowlingAlertEmailSubject String See Plates alerts templates
Helix-Server - API definition - v4.0.1 Page 77 of 125
HELIX Server - API definition
AlertConfig
Field Type Example
prowlingAlertEmailBody String See Plates alerts templates
kamikazeAlertEmailSubject String See Plates alerts templates
kamikazeAlertEmailBody String See Plates alerts templates
timeInZoneAlertEmailSubject String See Plates alerts templates
timeInZoneAlertEmailBody String See Plates alerts templates
timeInZonePlateDistance Integer($int32)
adrAlertEmailSubject String See Plates alerts templates
adrAlertEmailBody String See Plates alerts templates
roiCrossingEmailAlertSubject String See Plates alerts templates
roiCrossingEmailAlertBody String See Plates alerts templates
noAuthVehicleAlertEnable Boolean
noAuthVehicleEmailAlertSubject String See Plates alerts templates
noAuthVehicleEmailAlertBody String See Plates alerts templates
alertEmailHasOcrImage Boolean
alertEmailHasEnvImages Boolean
blacklistLevenshteinDistance Integer($int32)
whitelistLevenshteinDistance Integer($int32)
authorizedVehicleMessage String See Actuators message template
noAuthVehicleMessage String See Actuators message template
noAuthExceedVehicleMessage String See Actuators message template
statusPanelDirectory String
pendingQueueThreshold Integer($int32)
missedPingThreshold Integer($int32)
cameraConnectionSubject String See Camera alerts template
cameraConnectionBody String See Camera alerts template
cameraConnectionSolvedSubject String See Camera alerts template
Helix-Server - API definition - v4.0.1 Page 78 of 125
HELIX Server - API definition
AlertConfig
Field Type Example
cameraConnectionSolvedBody String See Camera alerts template
cameraPendingQueueSubject String See Camera alerts template
cameraPendingQueueBody String See Camera alerts template
cameraPendingQueueSolvedSubject String See Camera alerts template
cameraPendingQueueSolvedBody String See Camera alerts template
cameraResetSubject String See Camera alerts template
cameraResetBody String See Camera alerts template
cameraResetSolvedSubject String See Camera alerts template
cameraResetSolvedBody String See Camera alerts template
cameraTimeSyncSubject String See Camera alerts template
cameraTimeSyncSolvedSubject String See Camera alerts template
cameraTimeSyncSolvedBody String See Camera alerts template
ForbiddenTurnEmailSubject String See Plates alerts templates
ForbiddenTurnEmailBody String See Plates alerts templates
AlertConfig fields validators
Field Validation
secondsBetweenAlerts 0 <= x
AlertEmailFromAddress Not empty
BlacklistLevenshteinDistance 0 <= x <= 3
whitelistLevenshteinDistance 0 <= x <= 3
timeInZonePlateDistance 0 <= x <= 3
pendingQueueThreshold 0 <= x <= 1000
missedPingThreshold 0 <= x <= 10
Helix-Server - API definition - v4.0.1 Page 79 of 125
HELIX Server - API definition
Alert templates
Plates alerts template replacements
Token Value Format
$timestamp$ plate.TakenOn LocalTime yyyy-MM-ddTHH:mm:sszzz
$plate number$ plate.PlateNumber
$cameraname$ camera.Name
$cameraid$ plate.CameraId
$confidence$ plate.Confidence "{0:N2}
$charheight$ plate.AvgDigitsHeigh {0:N2}
t
$latitude$ plate.Latitude
$longitude$ plate.Longitude
$speed$ plate.Speed
$direction$ plate.Direction GettingFarther|GettingCloser|Direc
tionStop
$listname$ list.Name
$zone$ list.Zone.Value.Name
$zoneid$ list.ZoneId
$realzone$ zone.Name
$realzoneid$ zone.Id
$description$ item.Description
$comments$ item.Comments
$hitcount$ item.HitCount
$zone$ zone.Name from plate.zoneId
$zoneid$ zone.Id from plate.zoneId
$hitcount$ count from plate.zoneId
Helix-Server - API definition - v4.0.1 Page 80 of 125
HELIX Server - API definition
Camera alerts template replacements
Token Value Format
$cameraname$ camera.Name
$cameraid$ camera.Id
$zone$ zone.Name
$zoneid$ zone.Id
$queuesize$ camera.Pending String
$downtime$ Now Date time - 'd\.hh\:mm\:ss'
camera.LastPing
$lostping$ $downtime$/camera.P Integer.
ingTimer
Actuators message template replacements
Token Value Format
$timestamp$ plate.TakenOn LocalTime 'yyyy-MM-ddTHH:mm:sszzz'
$time$ plate.TakenOn LocalTime 'HH:mm:ss'
$day$ plate.TakenOn LocalTime 'MM-dd'
$platenumber$ plate.PlateNumber
$newline$ NewLine
$confidence$ plate.Confidence {0:N2}
$charheight$ plate.AvgDigitsHeigh {0:N2}
t
$latitude$ plate.Latitude {0:N2}
$longitude$ plate.Longitude {0:N2}
$speed$ plate.Speed {0:N2}
$direction$ plate.Direction
$company$ person.Company if person != null
"" if person == null
$forename$ person.Forename if person != null
Helix-Server - API definition - v4.0.1 Page 81 of 125
HELIX Server - API definition
Actuators message template replacements
Token Value Format
"" if person == null
$personalid$ person.PersonalId if person != null
"" if person == null
$position$ person.Position if person != null
"" if person == null
$surname$ person.Surname if person != null
"" if person == null
$title$ person.Title if person != null
"" if person == null
$userdef1$ person.UserDef1 if person != null
"" if person == null
$userdef2$ person.UserDef2 if person != null
"" if person == null
$userdef3$ person.UserDef3 if person != null
"" if person == null
$userdef4$ person.UserDef4 if person != null
"" if person == null
$userdef5$ person.UserDef5 if person != null
"" if person == null
$userdef6$ person.UserDef6 if person != null
"" if person == null
Helix-Server - API definition - v4.0.1 Page 82 of 125
HELIX Server - API definition
LDAPConfig
Field Type Example
id Integer($int32) 1
lDAPServer String
lDAPPort Integer($int32)
lDAPConnection String
lDAPSearch String
useLDAP Boolean
LDAPConfig fields validators
Field Validation
lDAPServer Not blank
lDAPPort 1 <= x <= 65535
lDAPConnection Not blank
lDAPSearch Not blank
PlateManagerConfig
Field Type Example
id Integer($int32) 1
imagePath String “c:\\images”
savePlateImages Boolean true
imageDaysLimit Integer($int32) 30
processLocalPlateRead Boolean true
plateDaysLimit Integer($int32) 0
aforoDaysLimit Integer($int32) 10
Helix-Server - API definition - v4.0.1 Page 83 of 125
HELIX Server - API definition
PlateManagerConfig fields validators
Field Validation
imagePath Valid and existing Path
imageDaysLimit 0 <= x
plateDaysLimit 0 <= x
aforoDaysLimit 0 <= x
ReasonConfig
Field Type Example
id Integer($int32) 1
enforceReason Boolean
allowOtherReason Boolean
configuredReasons String
enforceReasonDetails Boolean
reasonLabel String
descriptionLabel String
ReasonConfig fields validators
Field Validation
configuredReason Not null or white space
reasonLabel Not blank
descriptionLabel NotBlank
ServerConfig
Field Type Example
id Integer($int32) 1
serverApiKey String
resetApiKey Boolean true
enableSsl Boolean
redirectToHttps Boolean
Helix-Server - API definition - v4.0.1 Page 84 of 125
HELIX Server - API definition
ServerConfig
Field Type Example
sslCertHash String
helix6Port Integer($int32)
sslPort Integer($int32)
grafanaPort Integer($int32)
maximumConcurrentPetition Integer($int32)
maximumLoginTries Integer($int32) 3
disableTime Integer($int32) 5
auditDaysLimit Integer($int32) 7
auditAllUsers Boolean true
autoLogoutTimer Integer($int32) 0
encryptLists Boolean false
passwordExpirationDays Integer($int32) 30
timeInPlateList Integer($int32) 100
timeInAuthorizationList Integer($int32)
defaultZoneSchedules List of ZoneSchedule
deleteExpiredAuths Boolean
deleteIfNotSeenAuths Integer($int32)
deleteOutOfTokenAuths Boolean
deleteExpiredListitems Boolean
daysExpiredListitems Integer($int32)
ignoreSamePlateSeconds Integer($int32)
antipassbackMode Antipassback mode
antipassbackMode_enum List of String including all Antipassback modes
logLevel Log level
logLevel_enum List of String including all Log levels
virtualListFileFolder String
Helix-Server - API definition - v4.0.1 Page 85 of 125
HELIX Server - API definition
ServerConfig
Field Type Example
virtualListUpdatePeriod Integer($int32)
roiCrossingEnable Boolean
addWhitelistListId Integer($int32)
addWhitelistHowOld Integer($int32)
ServerConfig fields validators
Field Validation
virtualListFileFolder Must be a valid Path and exist
disableTime 0 <= x
maximumConcurrentPetition 0 <= x
maximumLoginTries 0 <= x <= 10
auditDaysLimit 0 <= x <= 3600
autoLogoutTimer 0 <= x <= 1440
Valid types
Field Validation
Antipassback mode Disabled, Aforo, Category, Global
Log level Info, Debug, Trace
SMTPConfig
Field Type Example
id Integer($int32) 1
smtpEnableSsl Boolean false
smtpPort Integer($int32) 25
smtpHost String “localhost”
smtpTimeout Integer($int32) 1000
smtpUseDefaultCredentials Boolean false
smtpPassword String “1234”
Helix-Server - API definition - v4.0.1 Page 86 of 125
HELIX Server - API definition
SMTPConfig
Field Type Example
smtpUsername String “admin”
SMTPConfig fields validators
Field Validation
smtpPort 0 <= x <= 65535
smtpTimeout 0 <= x
SMTPTest
Field Type Example
id Integer($int32) 1
SMTPTest fields validators
Field Validation
smtpTestEmail Valid email address
TelegramConfig
Field Type Example
id Integer($int32) 1
enableTelegramBot Boolean false
telegramBotToken String
telegramLoginRedirectUrl String
Helix-Server - API definition - v4.0.1 Page 87 of 125
HELIX Server - API definition
External data
PageExternal
Include: Paging response fields.
Field Type
records External See External
Extrenal
Field Type Example
id Integer( $int32 )
timesstamp DateTime as String “2017-01-01T00:00:00.00Z”
cameraId Integer( $int32 )
value double
type string
Grafana
Grafana
Field Type Example
id Integer( $int32 )
userId Integer( $int32 )
total Integer( $int32 )
urls List of Strings
Heartbeats
Heartbeat
Field Type Example
id Integer( $int32 )
CameraId Integer( $int32 )
ReaderId Integer( $int32 )
Pending Integer( $int32 )
Helix-Server - API definition - v4.0.1 Page 88 of 125
HELIX Server - API definition
Heartbeat
Field Type Example
SoftwareVersion Strings
FirmwareVersion Strings
BuildNumber Strings
Manufacturer Strings
SerialNumber Strings
Model Strings
Date DateTime as String “2017-12-19T11:38:33.12Z”
PID Strings
PingTimer Integer( $int32 )
Config Strings
Frame Strings
ConfigSHA Strings
HeartbeatResponse
Field Type Example
id Integer( $int32 )
requestFrame Integer( $int32 )
requestConfig Boolean
setConfig Strings
Helix-Server - API definition - v4.0.1 Page 89 of 125
HELIX Server - API definition
Images
PageImage
Include: Paging response fields.
Field Type
records Image See Image
Helix-Server - API definition - v4.0.1 Page 90 of 125
HELIX Server - API definition
Image
Field Type Example
id Integer( $int32 ) 7
timestamp DateTime as String “2017-01-01T00:00:00.00Z”
cameraId Integer( $int32 ) 2
protected Boolean false
plateId Integer( $int32 ) 2
platePosition List of Integer($int32) [ 362,273,545,360,0 ]
hasFile Boolean true
sHA String
Image fields validators
Field Validation
cameraId Must be a valid camera
plateId Must be a valid plate
cameraÌd & PlateId Both have the same plateReaderId
Helix-Server - API definition - v4.0.1 Page 91 of 125
HELIX Server - API definition
Linked Cameras
PageLinkedCamera
Include: Paging response fields.
Field Type
records Listitem (See LinkedCamera)
LinkedCamera
Field Type Example
id Integer( $int32 ) 5
cameraId Integer( $int32 ) 5
linkedCameraId Integer( $int32 ) 5
TimeLapse Integer( $int32 ) 5
TimeUnit TimeUnit Milliseconds | Seconds | Minutes
ForbiddenTurn Boolean false
AddCrossLink Boolean false
Listitem
PageListitem
Include: Paging response fields.
Field Type
records Listitem (See Listitem)
Listitem
Field Type Example
id Integer( $int32 ) 5
plate String “0933BFF”
listId Integer( $int32 ) 5
activeFrom DateTime as String “2017-01-01T00:00:00.00Z”
activeUntil DateTime as String “2017-12-31T23:59:59.00Z”
Helix-Server - API definition - v4.0.1 Page 92 of 125
HELIX Server - API definition
Listitem
Field Type Example
comments String “”
description String “”
hitCount Integer( $int32 ) 5
lastDetection DateTime as String “2017-12-19T11:38:33.12Z”
Listitem fields validators
Field Validation
listId Valid and existing platelist
plate Not blank
description Not blank
activeFrom Not null
activeTo Null or activeFrom >= activeTo
hitCount Must be 0 in POST action
LastDetection Must be null in POST action
Listitem CSV
Field Type Example
plate (+) String “0933BFF”
activefrom (+) DateTime as String “2017-01-01T00:00:00.00Z”
activeuntil (+) DateTime as String “2017-12-31T23:59:59.00Z”
comments String “”
description (+) String “”
hitcount Integer( $int32 ) 5
lastDetection DateTime as String “2017-12-19T11:38:33.12Z”
(+) required
Helix-Server - API definition - v4.0.1 Page 93 of 125
HELIX Server - API definition
Person
PagePerson
Include: Paging response fields.
Field Type
records Authorization See Person
Person
Field Type Example
id Integer( $int32 )
title String
forename String
surname String
position String [ 5, 2 ]
company String
personalId Integer( $int32 )
hasImage Boolean
categoryId Integer( $int32 )
isVIP Boolean
userDef1 String
userDef2 String
userDef3 String
userDef4 String
userDef5 String
userDef6 String
isGeneric Boolean
isDisabled Boolean
Helix-Server - API definition - v4.0.1 Page 94 of 125
HELIX Server - API definition
Person fields validators
Field Validation
surename Not blank
forename Not blank
categoryId Must be a valid category
Person CSV
Field Type Example
id Integer( $int32 ) 5
Title String “0933BFF”
forename (+) String “2017-01-01T00:00:00.00Z”
surname (+) String “2017-12-31T23:59:59.00Z”
position String
company String [ 5 ]
personalId Integer( $int32 )
hasImage Boolean
categoryId Integer( $int32 )
isVIP Boolean
userDef1 String
userDef2 String
userDef3 String
userDef4 String
userDef5 String
userDef6 String
isGeneric Boolean
isDisabled Boolean
(+) required
Helix-Server - API definition - v4.0.1 Page 95 of 125
HELIX Server - API definition
Plates
PagePlate
Include:Paging response fields.
Field Type
records Plate (See Plate)
Plate
Field Type Example
id Integer($int32) 1
cameraId Integer($int32) 1
zoneId Integer($int32) 1
cameraName String “Camera #1”
latitude Number($double) 12.1234
longitude Number($double) 12.1234
plateNumber String “M4616WZ”
originalPlateNumber String “M4616WZ”
country String “ESP”
originalCountry String “ESP”
takenOn DateTime as String “2017-12-19T11:38:33.12Z”
status Status
direction VehicleDirection
speed Integer($int32) 0
confidence Integer($int32) 89
envImageIds List of Integer($int32) [ 12300, 12302, 12303 ]
ocrImageId Integer($int32) 12301
signaled Boolean false
avgDigitsHeight Integer($int32) 16
multiplateRate Integer($int32) 2
Helix-Server - API definition - v4.0.1 Page 96 of 125
HELIX Server - API definition
Plate
Field Type Example
processingTimeOCR Number($double) 72.817330121994019
capturerId Integer($int32) 1
capturerType String
isAlarm Boolean false
kamikazeAlarm Boolean false
timeInZoneAlarm Boolean false
blacklistAlarm Boolean true
alarmListIds List of Integer($int32) [ 20, 21 ]
speedAlarm Boolean false
prowlingAlarm Boolean false
vehicleMaker String “BMW”
vehicleModel String “M5”
vehicleColor String “UNKNOWN”
crosstime Number($double) 0
hasExit Boolean false
signalId String
ocrImage Image See Image (for PUT action)
envImages List of Image See Image (for PUT action)
authorized Boolean
category String
vehicleClass String
region Sting
roiCrossing Integer($int32)
Helix-Server - API definition - v4.0.1 Page 97 of 125
HELIX Server - API definition
SignalId field format
Example { main: [ 1, 5, 9 ], cross: [] }
Field Validation
main Main field includes the plate.id's of linked captures (this field is
setted when the camera is main camera)
cross Cross field includes all main camera plate.id's with this capture is
linked (this field is setted when the camera is a linked camera).
NOTE: a camera could be a main and also a liked camera.
Plate fields validators
Field Validation
plateNumber Not blank
originalPlateNumber Not blank
cameraId Valid and existing camera
confidence 0 <= x <= 100
ocrImageId Valid and existing image
envImageIds Empty or a Valid list of existing images
Valid types
Field Validation
Status ok | pending | confirmed | cancelled | exported |
prescribed | noAuth | sanctionPending | ignored
VehicleDirection Unknown | GettingCloser | GettingFarther | Stopped | Left |
Right
Plate lists
PagePlatelist
Include: Paging response fields.
Field Type
records Platelist (See Platelist)
Helix-Server - API definition - v4.0.1 Page 98 of 125
HELIX Server - API definition
Platelist
Field Type Example
id Integer( $int32 ) 5
name String “Employees”
type ListType
color Hex color as String "#0077FF"
description String "White list of employees"
userIds List of Integer($int32) [ 1, 3 ]
ownerId Integer( $int32 ) 1
zoneId Integer( $int32 ) 5
version String
guid String
renewItemsExporation Boolean false
IsVirtual Boolean false
Helix-Server - API definition - v4.0.1 Page 99 of 125
HELIX Server - API definition
Platelist fields validators
Field Validation
name Not blank
color Valid color
UserIds Valid list of existing users
zoneId Valid and existing zone
ListType blacklist, whitelist
Valid type
Field Type
ListType blacklist, whitelist
Regular expression (AuthExpression)
PageAuthExpression
Include: Paging response fields.
Field Type
records Timeframe (See AuthExpression)
AuthExpression
Field Type Example
id Integer( $int32 ) 1
description String Plate number is odd
regExpression String ^([a-zA-Z]*)(\\d*)(0|1)$
Rollcall
PageRollcall
Include: Paging response fields.
Field Type
records Rollcall Rollcall
Helix-Server - API definition - v4.0.1 Page 100 of 125
HELIX Server - API definition
Rollcall
Field Type Example
id Integer( $int32 )
aforoId Integer( $int32 )
person Person See Person
plate Plate See Plate
Helix-Server - API definition - v4.0.1 Page 101 of 125
HELIX Server - API definition
Schedule
PageSchedule
Include: Paging response fields.
Field Type
records Schedule See Schedule
Schedule
Field Type Example
id Integer( $int32 ) 12
description String “Working time”
activeFrom UTC as String "2016-11-06T08:40:00Z"
activeUntil UTC as String "2027-11-25T08:40:00Z"
global Boolean false
timeFrameIds List of Integer($int32) [ 2, 5 ]
authExpressionIds List of Integer($int32) []
Schedule fields validators
Field Validation
description Not blank
timeFrameIds Valid list of existing timeframes
activeFrom && activeUntil activeFrom >= activeUntil
Section
PageSection
Include: Paging response fields.
Field Type
records Section (See Section)
Helix-Server - API definition - v4.0.1 Page 102 of 125
HELIX Server - API definition
Section
Field Type Example
id Integer( $int32 ) 12
name String “Security section”
distance Integer( $int32 ) 200 // Meters
maximumSeconds Integer( $int32 ) 12
entranceCameraId Integer( $int32 ) 5
exitCameraId Integer( $int32 ) 3
Section fields validators
Field Validation
name Not blank
distance 1 <= x
maximumSeconds 1 <= x
entranceCameraId Valid and existing camera
exitCameraId Valid and existing camera
Timeframe
PageTimeframe
Include: Paging response fields.
Field Type
records Timeframe (See Timeframe)
Timeframe
Field Type Example
id Integer( $int32 ) 12
description String “2 days week, odd months”
ignoreYear Boolean false
startYear Integer( $int32 ) 2015
stopYear Integer( $int32 ) 9999
Helix-Server - API definition - v4.0.1 Page 103 of 125
HELIX Server - API definition
Timeframe
Field Type Example
startHour Integer( $int32 ) 0
stopHour Integer( $int32 ) 23
startMinute Integer( $int32 ) 0
stopMinute Integer( $int32 ) 59
startDay Integer( $int32 ) 1
stopDay Integer( $int32 ) 7
daysOfWeek List of Day [ "monday", "tuesday" ]
months array of | Mont [ 1, 3, 5, 6, 9, 11 ]
Timeframe fields validators
Field Validation
daysOfWeek Not empty valid day list
months Not empty valid month list
description Not blank
startDay 1 <= x <= 31
stopDay 1 <= x <= 31
startHour 1 <= x <= 23
stopHour 1 <= x <= 23
startMinute 1 <= x <= 59
stopMinute 1 <= x <= 59
startHour, stopHour, ( startHour < stopHour ) or
startMinute, ( startHour == stopHour and
stopMinute, startDay, startMinute <= stopMinute )
stopDay, startYear and
stopYear startDay <= stopDay
startYear <= stopYear
Valid types
Field Type
Helix-Server - API definition - v4.0.1 Page 104 of 125
HELIX Server - API definition
Day sunday | monday | tuesday | wednesday |
thursday | friday | saturday
Moth 1: January, 2: February, 3: March, 4: April, 5: May, 6: June, 7:
July, 8: August, 9: September, 10: October, 11: November,
12: December
Update
Update
Field Type Example
id Integer( $int32 )
version String
changelog String
User
PageUser
Include: Paging response fields.
Field Type
records User (See User)
User
Field Type Example
id Integer( $int32 ) 12
username String “admin”
password String “”
rememberMe Boolean true
claims List of Claims [ “Admin”]
firstName String “System”
lastName String “Admin”
audited Boolean false
language Language “en”
Helix-Server - API definition - v4.0.1 Page 105 of 125
HELIX Server - API definition
User
Field Type Example
apiKey String "d7a3ceb36b254085a064fc2
0182e70fd"
resetApiKey Boolean false
userId String “12”
pluginIds List of Integer($int32) []
passwordExpirationDate DateTime as String “2017-01-01T00:00:00.0
0Z”
pushbulletApiKey String
availablePushbulletDevices List of PushbulletDevice
selectedPushbulletDevices List of PushbulletDevice
setEmptyPassword Boolean
User fields validators
Field Validation
username Not blank and not repeated
userId added for sanctions, where corresponding to Agent
ID
pushbullet Valid Pushbullet configuration.
Valid types
Field Types
Claims Admin | Actuators | Basic | Authorizations |
AdminLists | Cameras | Lists | Plates | Schedules |
Statistics | Users | Zones
Language en | es | ca | zh | th | vn | de | fr
PushbulletDevice
Field Type Example
iden String
nickname String
Helix-Server - API definition - v4.0.1 Page 106 of 125
HELIX Server - API definition
Helix-Server - API definition - v4.0.1 Page 107 of 125
HELIX Server - API definition
Zone
PageZone
Include: Paging response fields.
Field Type
records Zone (See Zone)
Zone
Field Type Example
id Integer( $int32 ) 12
name String “Main zone”
scheduleIds List of Integer($int32) [ 2, 5 ]
parentZoneId Integer( $int32 )
inheritSchedules Boolean false
userIds List of Integer($int32) [ 2, 5 ]
speedAlarm Boolean true
speedLimit Integer( $int32 ) 50
prowlingAlarm Boolean false
prowlingTimesDetected Integer( $int32 ) 0
prowlingMinutes Integer( $int32 ) 0
kamikazeAlarm Boolean false
adrAlarm Boolean
townCode String “28000”
UseAuthorizationRules Boolean
Zone fields validators
Field Validation
name Not blank
scheduleIds Not null and valid list of existing schedules
parentZoneId if x != 0, it must be a valid and existing zone.
userIds Valid and existing user
Helix-Server - API definition - v4.0.1 Page 108 of 125
HELIX Server - API definition
Zone fields validators
Field Validation
speedLimit 0 <= x
prowlingMinutes 0 <= x
prowlingTimesDetected 0 <= x
Helix-Server - API definition - v4.0.1 Page 109 of 125
HELIX Server - API definition
Plugins data models
Sanctions Plugin
SanctionConfig
Field Type Example
id Integer($int32) 1
caseFileFormat String “$year$-$id$”
prescribedDays Integer($int32) 25
lastExpedient Integer($int32) 100
maxCountPathLength Integer($int32) 100
CameraSanctions
Field Type Example
id Integer( $int32 ) 7
cameraId Integer( $int32 ) 2
sanctionIds List of Integer($int32) [ 2, 5 }
CameraSanctions fields validators
Field Validation
cameraId Not null and valid and existing camera
sanctionIds Not null and valid list of existing sanctions
PageCancellation
Include: Paging response fields.
Field Type
records Cancellation (See Cancellation)
Cancellation
Field Type Example
id Integer( $int32 ) 7
code Integer( $int32 ) 2
description String “By error”
Helix-Server - API definition - v4.0.1 Page 110 of 125
HELIX Server - API definition
Cancellation fields validators
Field Validation
description Not blank
code Not blank
PagePlateSanctions
Include: Paging response fields.
Field Type
records PlateSanctions (See PlateSanctions)
PlateSanctions
Field Type Example
id Integer($int32) 5
userId Integer( $int32 ) 2
plateId Integer( $int32 ) 2
imagesIds List of Integer($int32) [ 255, 256 }
sanctionId Integer($int32) 5
cancellationId Integer( $int32 ) 7
exportedOn DateTime as String “2017-01-01T00:00:00.00Z”
createdOn DateTime as String “2017-01-01T00:00:00.00Z”
country String “es”
caseFile String format:<yyyy>-<PlateSanction.id>
plateNumber String “0933BFF”
cameraId Integer($int32) 5
takenOn DateTime as String “2017-01-01T00:00:00.00Z”
Helix-Server - API definition - v4.0.1 Page 111 of 125
HELIX Server - API definition
PlateSanctions fields validators
Field Validation
plateId Existing plate for POST and PUT
sanctionId 0 <= x
cancellationId 0 <= x
sanctionId and sanctionId != 0 or cancellationId != 0
cancellationId
PageSanction
Include: Paging response fields.
Field Type
records Sanction (See Sanction)
Sanction
Field Type Example
id Integer( $int32 ) 12
shortDescription String “Red Light”
type SanctionType
trigger SanctionTrigger
penaltyMoney Double 100.00
description String “Red Light violation”
rule String “Rule”
article String “Article xx”
section String “Section yy”
subsection String “Subsection zz”
behaviorNumber String “NN”
penaltyPoints Integer( $int32 ) 6
legalTex String “Legal text...”
licenceWithdrawal Boolean false
complaintOrigin String Note: Gespol plugin
Helix-Server - API definition - v4.0.1 Page 112 of 125
HELIX Server - API definition
Sanction
Field Type Example
nonNotificationCause String Note: Gespol plugin
Sanction fields validators
Field Validation
description Not blank
article Not blank
penaltyMoney 0 <= x
role Not blank
Valid types
Field Types
SanctionType zoneNotAuthorized | redLigh | wrongDirection |
forbiddenTurn
SanctionTrigger plateNotAuthorized | timeInZone
Export sanctions
ExportSanctionConfig
Field Type Example
id Integer($int32) 1
eXTransferDir String “$year$-$id$”
eXNotificationEmail String 25
eXExportSanctionType Export Sanction Type
eXExportSanctionType_enum List of String including all Export Sanction Types
eXRowTemplate String
eXIncludeImages Boolean
ExportSanctionConfig fields validators
Field Validation
eXTransferDir Must be a valid Path and exist
Helix-Server - API definition - v4.0.1 Page 113 of 125
HELIX Server - API definition
ExportSanctionConfig fields validators
Field Validation
eXNotificationEmail Not null, not empty
Valid type
Field Validation
Export Sanction Type csv, xml, json
Helix-Server - API definition - v4.0.1 Page 114 of 125
HELIX Server - API definition
Filter keys
Notes
1. Date fields must be ISO-8601 format (ex. Javascript Date)
2. Converted all values to string (ex using JSON.stringify)
Examples (Plates)
filterKey:["camera","dateFrom","alarm"]
filterValue:["\"1\"","\"2018-01-03T23:00:00.000Z\"","\"true\""]
Audits
Token filterKey filterValue
ACTION action Action
Example: ACTION:GET /api/user/all
DETAILS details Text included in Details attribute.
DATE FROM dateFrom DateTime format yyyy-MM-ddThh:mm:ssZ (ISO 8601)
example: 2023-10-18T23:08:28.012Z
DATE TO dateTo DateTime format yyyy-MM-ddThh:mm:ssZ (ISO 8601)
example: 2023-10-18T23:08:28.012Z
FAILED failed true or false
USER ID userId User ID or user username
SOURCE ADDRESS sourceAddress IP address
Example: SOURCE:192.168.0.131
Authorizations
Token filterKey filterValue
PLATE plate p.e. M4616WZ
DESCRIPTION description Description
DES
COMMENTS comments Comments
ELASTIC elastic free text to search in any text fields of Authorization
PERSON personId Person ID
OWNER
PERSONID
Category
Token filterKey filterValue
Helix-Server - API definition - v4.0.1 Page 115 of 125
HELIX Server - API definition
NAME name Category name
DESCRIPTION description Category description
Person
Token filterKey filterValue
SURNAME surname free text
FORENAME forename free text
COMPANY company free text
PERSONAL ID personalId free text
CATEGORY ID categoryId Category ID (from Category entity)
POSITION position free text
ELASTIC elastic free text to search in any text fields of Person
Plates
Token filterKey filterValue
CAMERA camera Camera ID or Camera name
COUNTRY country Three letters Country code
DIRECTION direction Unknown | GettingCloser | GettingFarther |
DIR Stopped | Left | Right
PLATE plate p.e. M4616WZ
STATUS status OK, Pending, Confirmed, Canceled, Exported,
Prescribed, NoAuth, SanctionPending,
NoAuthExceed, Ignored
ZONE zone Zone ID or Zone name
CAPTURERID capturerId Capturer ID
CAPID
CAPTURERTYPE capturerType Capturer Type
CAPTYPE
MAXLATITUDE maxlatitude Max latitude (double)
MAXLAT
MINLATITUDE minlatitude Min latitude (double)
MINLAT
MAXLONGITUDE maxlongitude Max longitude (double)
MAXLON
Helix-Server - API definition - v4.0.1 Page 116 of 125
HELIX Server - API definition
Token filterKey filterValue
MINLONGITUDE minlongitude Min longitude (double)
MINLON
DATEFROM dateFrom DateTime format yyyy-MM-ddThh:mm:ssZ (ISO 8601)
FROM example: 2023-10-18T23:08:28.012Z
DATETO dateTo DateTime format yyyy-MM-ddThh:mm:ssZ (ISO 8601)
TO example: 2023-10-18T23:08:28.012Z
SPEED speed Speed (integer)
SIGNALID signalId Signal ID (integer)
VEHICLEMAKER vehicleMaker Vehicle marker (text)
VEHICLEMODEL vehicleModel Vehicle model (text)
VEHICLECOLOR vehicleColor Vehicle color (text)
VEHICLECLASS vehicleClass Vehicle class
CATEGORY category Category
REGION region Region
ALARM alarm If it is an alarm (boolean)
EXIT exit If it is an exit (boolean)
CROSSTIME crosstime If crosstime is >=
ELASTIC elastic
N/A list If it is in a list with ID == value.
N/A plateId Plate with id == plateId
Plate list items
Token filterKey filterValue
LISTIDS listIds List ID or List name, separated with comma (,)
LIST
TYPE type blacklist or whitelist
ACTIVE active true or false
PLATE plate p.e. M4616WZ
LOCATED located true or false
DATEFROM lastDetectionFrom DateTime format yyyy-MM-ddThh:mm:ssZ (ISO 8601)
FROM example: 2023-10-18T23:08:28.012Z
Helix-Server - API definition - v4.0.1 Page 117 of 125
HELIX Server - API definition
Token filterKey filterValue
DATETO lastDetectionTo DateTime format yyyy-MM-ddThh:mm:ssZ (ISO 8601)
TO example: 2023-10-18T23:08:28.012Z
DESCRIPTION description Description
DESC
COMMENTS comments Comments
Rollcall
Token filterKey filterValue
AFOROS aforosIds p.e. [ 2, 5, 9 ]
PERSON personId
Helix-Server - API definition - v4.0.1 Page 118 of 125
HELIX Server - API definition
Claims
Accesses allowed
CLAIM Resource Method
Admin All Full access
Actuators /api/actuator GET, PUT, POST, DELETE
AdminLists /api/user GET *
/api/zone GET
/api/platelist GET, PUT, POST, DELETE,
Upload Listitems
/api/listitem GET, PUT, POST, DELETE
AdminAuthorizations /api/authorization GET, PUT, POST, DELETE
/api/category GET, PUT, POST, DELETE
/api/person GET, PUT, POST, DELETE
/api/rollcall GET, DELETE
/api/schedule GET
/api/zone GET
Authorizations /api/authorization GET, PUT, POST, DELETE
/api/category GET, PUT, POST, DELETE
/api/person GET, PUT, POST, DELETE
/api/rollcall GET, DELETE
/api/schedule GET
/api/zone GET
Basic /api/aforo GET
/api/camera GET
/api/external GET
/api/linked GET
Helix-Server - API definition - v4.0.1 Page 119 of 125
HELIX Server - API definition
CLAIM Resource Method
/api/image GET
/api/plate GET
/api/authExpression GET
/api/schedule GET
/api/timeframe GET
/api/zone GET
Cameras /api/camera GET, PUT, POST, DELETE
/api/linkedCamera GET, PUT, POST, DELETE
/api/zone GET
Lists /api/user GET *
/api/zone GET
/api/platelist GET, PUT, POST, DELETE,
Upload Listitems
/api/listitem GET, PUT, POST, DELETE
Plates /api/camera GET
/api/linkedCamera GET
/api/image GET, PUT, POST
/api/imageupload POST
/api/plate GET, PUT, POST
/api/zone GET
Schedules /api/authExpression GET, PUT, POST, DELETE
/api/schedle GET, PUT, POST, DELETE
/api/timeframe GET, PUT, POST, DELETE
Statistics /api/grafana GET, PUT, POST
Users /api/user GET, PUT, POST, DELETE
Zones /api/aforo GET, PUT, POST, DELETE
Helix-Server - API definition - v4.0.1 Page 120 of 125
HELIX Server - API definition
CLAIM Resource Method
/api/camera GET **
/api/linkedCamera GET **
/api/plateList GET
/api/schedule GET
/api/section GET
/api/user GET *
/api/zone GET, PUT, POST, DELETE
Note:
(*) Can see other users (of the same list or zone.)
(**) If combine Zones and Camera claims, can see all records.
Helix-Server - API definition - v4.0.1 Page 121 of 125
HELIX Server - API definition
Annexes
How to use Postman2
In order to work with Helix through its REST API, It must to following next steps
1. Set Verb
2. Set HTTP REST URL
3. Set Parameters (if it has any)
4. Set x-api-key in header (or ApiKey in query string)
5. Click [Send] button and get response..
2
www.getpostman.com
Helix-Server - API definition - v4.0.1 Page 122 of 125
HELIX Server - API definition
How to use Swagger3
Load HelixAPI-x.x.x.json file
API Documentation
3
Documentation: https://github.com/OAI/OpenAPI-Specification/blob/master/versions/2.0.md
Helix-Server - API definition - v4.0.1 Page 123 of 125
HELIX Server - API definition
Code Generation
Client code example (C#)
…
// RestSharp: https://www.nuget.org/packages/RestSharp/105.1.0
using RestSharp;
...
RestClient = new RestClient( “http://myHelix.com:8080/Helix/api” );
...
public Object CallApi
(
String path,
RestSharp.Method method,
Dictionary<String, String> queryParams,
Object postBody,
Dictionary<String, String> headerParams,
Dictionary<String, String> formParams,
Dictionary<String, FileParameter> fileParams,
Dictionary<String, String> pathParams,
String contentType)
{
var request = PrepareRequest(
path, method,
queryParams,
postBody,
headerParams,
formParams,
fileParams,
pathParams,
contentType );
// set timeout
RestClient.Timeout = Configuration.Timeout;
Helix-Server - API definition - v4.0.1 Page 124 of 125
HELIX Server - API definition
// set user agent
RestClient.UserAgent = Configuration.UserAgent;
InterceptRequest(request);
var response = RestClient.Execute(request);
InterceptResponse(request, response);
return (Object) response;
}
...
var _Path = "/camera/{id}";
var _PathParams = new Dictionary<String,
String>();
var _QueryParams = new Dictionary<String,
String>();
var _FormParams = new Dictionary<String,
String>();
var _Method = Method.PUT;
var _FileParams = new Dictionary<String,
FileParameter>();
var _HeaderParams = new Dictionary<String,
String>(Configuration.DefaultHeader);
…
String[] _HttpContentTypes = new String[] {};
String _HttpContentType =
Configuration.ApiClient.SelectHeaderContentType(_HttpContentTypes);
...
String[] _HttpHeaderAccepts = new String[] { "application/json" };
_HeaderParams.Add("Accept", _HttpHeaderAccept);
...
_PathParams.Add("id", Configuration.ApiClient.ParameterToString(id));
_QueryParams.Add("ApiKey",
Configuration.ApiClient.ParameterToString(apiKey));
..
_PostBody = Configuration.ApiClient.Serialize(camera);
...
IRestResponse _Response = (IRestResponse) CallApi( _Path,
_Method,
_QueryParams,
_PostBody,
_HeaderParams,
_FormParams,
_FileParams,
_PathParams,
_HttpContentType);
int _StatusCode = (int) _Response.StatusCode;
…
Helix-Server - API definition - v4.0.1 Page 125 of 125