HelixServer API Definition v4.0.1
HelixServer API Definition v4.0.1
Preface
This user manual is designed for the management and proper use of Helix API, made by
Vaxtor.
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
Change log
Version Date Change Author
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
REST API
REST API Verbs
Verb /camera /camera/1234 /camera/all
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
● 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.
● 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)
Filters
Paged responses
Paging parameters
Parameter Description Where Required Type Format
Response codes
Note:
● The server responses to API calls could have one of these codes.
● Following pages just document the correct responses.
Response codes
cannot be found.",
"details": "Error details are currently
disabled. Please set
<code>StaticConfiguration.DisableErrorTraces =
false;</code> to enable."
}
App URL
URL Description Example
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>
Actuators
Actuators
GET {baseURL}/api/actuator/{id}
Response
GET {baseURL}/api/actuator/all
Response
GET {baseURL}/api/actuator/{id}/test
Response
200 Connection OK
POST {baseURL}/api/actuator
Response
PUT {baseURL}/api/actuator
Response
DELETE {baseURL}/api/actuator/{id}
Response
200 Ok Empty
Actuator Link
GET {baseURL}/api/actuatorlink/{id}
Response
GET {baseURL}/api/actuatorlink/all
Response
POST {baseURL}/api/actuatorlink
Response
PUT {baseURL}/api/actuatorlink
Response
DELETE {baseURL}/api/actuatorlink/{id}
Response
200 Ok Empty
Response
Audit
GET {baseURL}/api/audit
Response
GET {baseURL}/api/audit/{id}
Response
GET {baseURL}/api/audit/all
Response
Authorization
GET {baseURL}/api/authorization
Response
GET {baseURL}/api/authorization/{id}
Response
GET {baseURL}/api/authorization/all
Response
POST {baseURL}/api/authorization
Response
PUT {baseURL}/api/authorization
Response
DELETE {baseURL}/api/authorization/{id}
Response
200 Ok Empty
Cameras
GET {baseURL}/api/camera
Response
GET {baseURL}/api/camera/{id}
Response
GET {baseURL}/api/camera/all
Response
POST {baseURL}/api/camera
Response
PUT {baseURL}/api/camera
Response
DELETE {baseURL}/api/camera/{id}
Response
200 Ok Empty
Aforo (Capacity)
GET {baseURL}/api/aforo/{id}
Response
GET {baseURL}/api/aforo/all
Response
POST {baseURL}/api/aforo
Response
PUT {baseURL}/api/aforo
Response
DELETE {baseURL}/api/aforo/{id}
Response
200 Ok Empty
Categories
GET {baseURL}/api/category
Response
GET {baseURL}/api/category/{id}
Response
GET {baseURL}/api/category/all
Response
POST {baseURL}/api/category
Response
PUT {baseURL}/api/category
Response
DELETE {baseURL}/api/category/{id}
Response
200 Ok Empty
Configurations
Alert Config
GET {baseURL}/api/config/alert
Response
PUT {baseURL}/api/config/alert
Response
LDAP Config
GET {baseURL}/api/config/ldap
Response
PUT {baseURL}/api/config/ldap
Response
Response
PUT {baseURL}/api/config/plateManager
Response
Server Config
GET {baseURL}/api/config/server
Response
PUT {baseURL}/api/config/server
Response
SMTP Config
GET {baseURL}/api/config/SMTP
Response
PUT {baseURL}/api/config/SMTP
Response
SMTP Test
GET {baseURL}/api/config/smtptest
Response
PUT {baseURL}/api/config/smtptest
Response
Telegram config
GET {baseURL}/api/config/telegram
Response
PUT {baseURL}/api/config/telegram
Response
External
GET {baseURL}/api/external
Response
GET {baseURL}/api/external/{id}
Response
GET {baseURL}/api/external/all
Response
POST {baseURL}/api/category
Response
PUT {baseURL}/api/category
Response
DELETE {baseURL}/api/category/{id}
Response
200 Ok Empty
Grafana
GET {baseURL}/api/grafana/{id}
Response
POST {baseURL}/api/grafana
Response
PUT {baseURL}/api/grafana
Response
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/
Response
POST {baseURL}/api/heartbeat/
Response
200 Response
POST {baseURL}/api/heartbeat/
Response
200 Response
GDRP
DELETE {baseURL}/api/gdpr/{plateNumber}
Response
200 Ok Empty
Images
GET {baseURL}/api/image
Response
GET {baseURL}/api/image/{id}
Response
POST {baseURL}/api/image
Response
PUT {baseURL}/api/image
Response
Linked Cameras
GET {baseURL}/api/linkedCamera
Response
GET {baseURL}/api/linkedCamera/{id}
Response
GET {baseURL}/api/linkedCamera/all
Response
POST {baseURL}/api/linkedCamera
Response
PUT {baseURL}/api/linkedCamera
Response
DELETE {baseURL}/api/linkedCamera/{id}
Response
200 Ok Empty
People
GET {baseURL}/api/person
Response
GET {baseURL}/api/person/{id}
Response
GET {baseURL}/api/person/all
Response
POST {baseURL}/api/person
Response
PUT {baseURL}/api/person
Response
DELETE {baseURL}/api/person/{id}
Response
200 Ok Empty
Plates
Plates
GET {baseURL}/api/plate
Response
GET {baseURL}/api/plate/{id}
Response
PUT {baseURL}/api/plate
Response
POST {baseURL}/api/plate
Notes
Response
Associates
GET {baseURL}/api/plate/associates
Response
Plate lists
GET {baseURL}/api/platelist
Response
GET {baseURL}/api/platelist/{id}
Response
GET {baseURL}/api/platelist/all
Response
POST {baseURL}/api/platelist
Response
PUT {baseURL}/api/platelist
Response
DELETE {baseURL}/api/platelist/{id}
Response
200 Ok Empty
Response
GET {baseURL}/api/listitem/{id}
Response
GET {baseURL}/api/listitem/all
Response
POST {baseURL}/api/listitem
Response
PUT {baseURL}/api/listitem
Response
DELETE {baseURL}/api/listitem/{id}
Response
200 Ok Empty
Response
GET {baseURL}/api/authExpression/{id}
Response
GET {baseURL}/api/authExpression/all
Response
POST {baseURL}/api/authExpression
Response
PUT {baseURL}/api/authExpression
Response
DELETE {baseURL}/api/authExpression/{id}
Response
200 Ok Empty
Rollcall
GET {baseURL}/api/rollcall
Response
GET {baseURL}/api/rollcall/all
Response
DELETE {baseURL}/api/rollcall/{id}
Response
200 Ok Empty
Schedules
GET {baseURL}/api/schedule
Response
GET {baseURL}/api/schedule/{id}
Response
GET {baseURL}/api/schedule/all
Response
POST {baseURL}/api/schedule
Response
PUT {baseURL}/api/schedule
Response
DELETE {baseURL}/api/schedule/{id}
Response
200 Ok Empty
Sections
GET {baseURL}/api/section
Response
GET {baseURL}/api/section/{id}
Response
GET {baseURL}/api/section/all
Response
POST {baseURL}/api/section
Response
PUT {baseURL}/api/section
Response
DELETE {baseURL}/api/section/{id}
Response
200 Ok Empty
Response
GET {baseURL}/api/timeframe/{id}
Response
GET {baseURL}/api/timeframe/all
Response
POST {baseURL}/api/timeframe
Response
PUT {baseURL}/api/timeframe
Response
DELETE {baseURL}/api/timeframe/{id}
Response
200 Ok Empty
Update
GET {baseURL}/api/update/1
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
Response
Code Description
Users
GET {baseURL}/api/user
Response
GET {baseURL}/api/user/{id}
Response
GET {baseURL}/api/user/all
Response
POST {baseURL}/api/user
Response
PUT {baseURL}/api/user
Response
DELETE {baseURL}/api/user/{id}
Response
200 Ok Empty
Zones
GET {baseURL}/api/zone
Response
GET {baseURL}/api/zone/{id}
Response
GET {baseURL}/api/zone/all
Response
POST {baseURL}/api/zone
Response
PUT {baseURL}/api/zone
Response
DELETE {baseURL}/api/zone/{id}
Response
200 Ok Empty
Plugins API
Sanctions
Sanction config
GET {baseURL}/api/config/sanction
Response
PUT {baseURL}/api/config/sanction
Response
Cancellations
GET {baseURL}/api/cancellation
Response
GET {baseURL}/api/cancellation/{id}
Response
GET {baseURL}/api/cancellation/all
Response
POST {baseURL}/api/cancellation
Response
PUT {baseURL}/api/cancellation
Response
DELETE {baseURL}/api/cancellation/{id}
Response
200 Ok Empty
Sanctions
GET {baseURL}/api/sanction
Response
GET {baseURL}/api/sanction/{id}
Response
GET {baseURL}/api/sanction/all
Response
POST {baseURL}/api/sanction
Response
PUT {baseURL}/api/sanction
Response
DELETE {baseURL}/api/sanction/{id}
Response
200 Ok Empty
Camera Sanctions
GET {baseURL}/api/camerasanction/{id}
Response
GET {baseURL}/api/camerasanction/all
Response
POST {baseURL}/api/camerasanction
Response
PUT {baseURL}/api/camerasanction
Response
DELETE {baseURL}/api/camerasanction/{id}
Response
200 Ok Empty
Plate Sanctions
GET {baseURL}/api/platesanction
Response
GET {baseURL}/api/platesanction/{id}
Response
POST {baseURL}/api/platesanction
Response
PUT {baseURL}/api/platesanction
Response
File downloads1
Audit record
GET {baseURL}/api/audit/export.csv
Response
Code Description
200 CSV file with header including selected columns of filtered Audit records.
Authorization
GET {baseURL}/api/authorization/export.csv
Response
Code Description
200 CSV file with header including selected columns of filtered Authorization
records.
1
Must include API Key parameter.
Category
GET {baseURL}/api/category/export.csv
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
Code Description
Response
Response
People
GET {baseURL}/api/person/export.csv
Response
Code Description
200 CSV file with header including selected columns of filtered People records.
Plates
Registers
GET {baseURL}/api/plate/export.csv
Response
Code Description
200 CSV file with header including selected columns of filtered Plate records.
Images
GET {baseURL}/api/plate/images.zip
Response
200 ZIP file, with Plate images records. zip file named export.zip with images
associated to export.csv
Description Get all or filtered items from plate list (black or white) in CSV format
Response
Code Description
200 CSV file with header including selected columns of filtered Listitem records.
File upload
NOTES:
Authorization
POST {baseURL}/api/authupload
Response
Category
POST {baseURL}/api/categoryupload
CSV file CSV file with categories body true Category CSV form-data
Response
Image upload
POST {baseURL}/api/imageupload/{id}
Description Upload image JPG format associated with Image ID (see Images)
Response
People
POST {baseURL}/api/personupload/{id}
Description Upload image JPG format associated with Image ID (see Images)
CSV file CSV file with People body true PersonCSV CSV file
Response
Person Image
POST {baseURL}/api/personimageupload/{id}
Description Upload image JPG format associated with person ID (see Person)
Response
Description Upload items from plate list (black or white) in CSV format
CSV file CSV file with Listitems body true ListItemCSV CSV file
Response
SignalR messaging
Common
Common schema
Field Type Example
Messages bodies
Aforo message
Description Message with name aforo
Listitem message
Description Message with name listitem (Blacklist event)
Plate message
Description Message with name plate
Alert message
Description Message with name alert
Blacklist { listItem.Description }
Speed { plate.Speed }
Kamikaze { plate.Direction }
Timer { entrance_Plate.TakenOn }
CameraTimeSync
CameraReset
CameraQueue
ForbiddenTurn { source_plate.id }
Rowcall message
Description Message with name rollcall
Update messages
Description Message associated with triggered update process
Name meaning
Update restarting Wait for the application to restart and try to connect (or reload the
web) after some minutes.
Data models
Common elements
Paging response fields
Field Type Example
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.
Actuators
Actuator
Field Type Example
id Integer( $int32 )
iP String “192.168.0.3”
iP Not blank
ValidTypes
Field Type Example
ActuatorLink
Field Type Example
id Integer( $int32 )
eventType EventType
Audit
PageAudit
Include: Paging response fields.
Field Type
Audit
Field Type Example
id Integer( $int32 ) 5
Audit
Field Type Example
\"totalRecords\": 0\r\n}"
Aforo
Aforo (Capacity)
Field Type Example
id Integer( $int32 ) 5
resetAforo Boolean
denyIfFull Boolean
ignoreIfNotAuthorized Boolean
isVirtual Boolean
Authorization
PageAuthorization
Include: Paging response fields.
Field Type
Authorization
Field Type Example
id Integer( $int32 ) 5
comments String
make String
model String
color String
Authorization
Field Type Example
isDisabled Boolean
Authorization CSV
Field Type Example
id Integer( $int32 ) 5
comments String “”
isVip Boolean
make String
model String
color String
isDisabled Boolean
(+) required
ZoneSchedule
Field Type Example
id Integer( $int32 )
Cameras
PageCamera
Include: Paging response fields.
Field Type
Camera
Field Type Example
id Integer( $int32 ) 7
type CameraType
reportType ReportType
capturerId String 12
Camera
Field Type Example
expectedDirection ExpectedDirection
overlayInfo String
serialNumber String
brand String
model String
remarks String
onError Boolean
firmwareVersion String
softwareVersion Sting
timeSync Boolean
config String
configSHA String
lastPing DateTime
lastFrame DateTime
lastHost String
downloadCameraConfig Boolean
enableMaintenanceAlarms Boolean
graceHour 0 <= x
Valid types
Field Validation
Category
PageCategory
Include: Paging response fields.
Field Type
Category
Field Type Example
id Integer( $int32 )
name String
description String
color String
Category CSV
Field Type Example
id Integer( $int32 ) 5
color String [ 5 ]
Configuration
AlertConfig
Field Type Example
id Integer($int32) 1
secondsBetweenAlerts Integer($int32) 0
AlertConfig
Field Type Example
timeInZonePlateDistance Integer($int32)
noAuthVehicleAlertEnable Boolean
alertEmailHasOcrImage Boolean
alertEmailHasEnvImages Boolean
blacklistLevenshteinDistance Integer($int32)
whitelistLevenshteinDistance Integer($int32)
statusPanelDirectory String
pendingQueueThreshold Integer($int32)
missedPingThreshold Integer($int32)
AlertConfig
Field Type Example
secondsBetweenAlerts 0 <= x
Alert templates
Plates alerts template replacements
Token Value Format
$cameraname$ camera.Name
$cameraid$ plate.CameraId
$latitude$ plate.Latitude
$longitude$ plate.Longitude
$speed$ plate.Speed
$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
$cameraname$ camera.Name
$cameraid$ camera.Id
$zone$ zone.Name
$zoneid$ zone.Id
$platenumber$ plate.PlateNumber
$newline$ NewLine
$direction$ plate.Direction
LDAPConfig
Field Type Example
id Integer($int32) 1
lDAPServer String
lDAPPort Integer($int32)
lDAPConnection String
lDAPSearch String
useLDAP Boolean
PlateManagerConfig
Field Type Example
id Integer($int32) 1
imageDaysLimit Integer($int32) 30
plateDaysLimit Integer($int32) 0
aforoDaysLimit Integer($int32) 10
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
descriptionLabel NotBlank
ServerConfig
Field Type Example
id Integer($int32) 1
serverApiKey String
enableSsl Boolean
redirectToHttps Boolean
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
autoLogoutTimer Integer($int32) 0
passwordExpirationDays Integer($int32) 30
timeInAuthorizationList Integer($int32)
deleteExpiredAuths Boolean
deleteIfNotSeenAuths Integer($int32)
deleteOutOfTokenAuths Boolean
deleteExpiredListitems Boolean
daysExpiredListitems Integer($int32)
ignoreSamePlateSeconds Integer($int32)
virtualListFileFolder String
ServerConfig
Field Type Example
virtualListUpdatePeriod Integer($int32)
roiCrossingEnable Boolean
addWhitelistListId Integer($int32)
addWhitelistHowOld Integer($int32)
disableTime 0 <= x
maximumConcurrentPetition 0 <= x
Valid types
Field Validation
SMTPConfig
Field Type Example
id Integer($int32) 1
smtpPort Integer($int32) 25
SMTPConfig
Field Type Example
smtpTimeout 0 <= x
SMTPTest
Field Type Example
id Integer($int32) 1
TelegramConfig
Field Type Example
id Integer($int32) 1
telegramBotToken String
telegramLoginRedirectUrl String
External data
PageExternal
Include: Paging response fields.
Field Type
Extrenal
Field Type Example
id Integer( $int32 )
value double
type string
Grafana
Grafana
Field Type Example
id Integer( $int32 )
Heartbeats
Heartbeat
Field Type Example
id Integer( $int32 )
Heartbeat
Field Type Example
SoftwareVersion Strings
FirmwareVersion Strings
BuildNumber Strings
Manufacturer Strings
SerialNumber Strings
Model Strings
PID Strings
Config Strings
Frame Strings
ConfigSHA Strings
HeartbeatResponse
Field Type Example
id Integer( $int32 )
requestConfig Boolean
setConfig Strings
Images
PageImage
Include: Paging response fields.
Field Type
Image
Field Type Example
id Integer( $int32 ) 7
sHA String
Linked Cameras
PageLinkedCamera
Include: Paging response fields.
Field Type
LinkedCamera
Field Type Example
id Integer( $int32 ) 5
Listitem
PageListitem
Include: Paging response fields.
Field Type
Listitem
Field Type Example
id Integer( $int32 ) 5
Listitem
Field Type Example
comments String “”
description String “”
Listitem CSV
Field Type Example
comments String “”
Person
PagePerson
Include: Paging response fields.
Field Type
Person
Field Type Example
id Integer( $int32 )
title String
forename String
surname String
position String [ 5, 2 ]
company String
hasImage Boolean
isVIP Boolean
userDef1 String
userDef2 String
userDef3 String
userDef4 String
userDef5 String
userDef6 String
isGeneric Boolean
isDisabled Boolean
Person CSV
Field Type Example
id Integer( $int32 ) 5
position String
company String [ 5 ]
hasImage Boolean
isVIP Boolean
userDef1 String
userDef2 String
userDef3 String
userDef4 String
userDef5 String
userDef6 String
isGeneric Boolean
isDisabled Boolean
(+) required
Plates
PagePlate
Include:Paging response fields.
Field Type
Plate
Field Type Example
id Integer($int32) 1
cameraId Integer($int32) 1
zoneId Integer($int32) 1
status Status
direction VehicleDirection
speed Integer($int32) 0
confidence Integer($int32) 89
avgDigitsHeight Integer($int32) 16
multiplateRate Integer($int32) 2
Plate
Field Type Example
capturerId Integer($int32) 1
capturerType String
crosstime Number($double) 0
signalId String
authorized Boolean
category String
vehicleClass String
region Sting
roiCrossing Integer($int32)
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).
Valid types
Field Validation
Plate lists
PagePlatelist
Include: Paging response fields.
Field Type
Platelist
Field Type Example
id Integer( $int32 ) 5
type ListType
version String
guid String
Valid type
Field Type
Field Type
AuthExpression
Field Type Example
id Integer( $int32 ) 1
Rollcall
PageRollcall
Include: Paging response fields.
Field Type
Rollcall
Field Type Example
id Integer( $int32 )
Schedule
PageSchedule
Include: Paging response fields.
Field Type
Schedule
Field Type Example
id Integer( $int32 ) 12
Section
PageSection
Include: Paging response fields.
Field Type
Section
Field Type Example
id Integer( $int32 ) 12
distance 1 <= x
maximumSeconds 1 <= x
Timeframe
PageTimeframe
Include: Paging response fields.
Field Type
Timeframe
Field Type Example
id Integer( $int32 ) 12
Timeframe
Field Type Example
Valid types
Field Type
Update
Update
Field Type Example
id Integer( $int32 )
version String
changelog String
User
PageUser
Include: Paging response fields.
Field Type
User
Field Type Example
id Integer( $int32 ) 12
password String “”
User
Field Type Example
pushbulletApiKey String
setEmptyPassword Boolean
Valid types
Field Types
Language en | es | ca | zh | th | vn | de | fr
PushbulletDevice
Field Type Example
iden String
nickname String
Zone
PageZone
Include: Paging response fields.
Field Type
Zone
Field Type Example
id Integer( $int32 ) 12
adrAlarm Boolean
UseAuthorizationRules Boolean
speedLimit 0 <= x
prowlingMinutes 0 <= x
prowlingTimesDetected 0 <= x
id Integer($int32) 1
prescribedDays Integer($int32) 25
CameraSanctions
Field Type Example
id Integer( $int32 ) 7
PageCancellation
Include: Paging response fields.
Field Type
Cancellation
Field Type Example
id Integer( $int32 ) 7
PagePlateSanctions
Include: Paging response fields.
Field Type
PlateSanctions
Field Type Example
id Integer($int32) 5
sanctionId Integer($int32) 5
cameraId Integer($int32) 5
sanctionId 0 <= x
cancellationId 0 <= x
PageSanction
Include: Paging response fields.
Field Type
Sanction
Field Type Example
id Integer( $int32 ) 12
type SanctionType
trigger SanctionTrigger
Sanction
Field Type Example
penaltyMoney 0 <= x
Valid types
Field Types
Export sanctions
ExportSanctionConfig
Field Type Example
id Integer($int32) 1
eXNotificationEmail String 25
eXRowTemplate String
eXIncludeImages Boolean
Valid type
Field Validation
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
Authorizations
Token filterKey filterValue
Category
Token filterKey filterValue
Person
Token filterKey filterValue
Plates
Token filterKey filterValue
ELASTIC elastic
Rollcall
Token filterKey filterValue
PERSON personId
Claims
Accesses allowed
CLAIM Resource Method
/api/zone GET
/api/schedule GET
/api/zone GET
/api/schedule GET
/api/zone GET
/api/camera GET
/api/external GET
/api/linked GET
/api/image GET
/api/plate GET
/api/authExpression GET
/api/schedule GET
/api/timeframe GET
/api/zone GET
/api/zone GET
/api/zone GET
/api/linkedCamera GET
/api/imageupload POST
/api/zone GET
/api/camera GET **
/api/linkedCamera GET **
/api/plateList GET
/api/schedule GET
/api/section GET
/api/user GET *
Note:
(*) Can see other users (of the same list or zone.)
(**) If combine Zones and Camera claims, can see all records.
Annexes
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
API Documentation
3
Documentation: https://github.com/OAI/OpenAPI-Specification/blob/master/versions/2.0.md
Code Generation
// set timeout
RestClient.Timeout = Configuration.Timeout;
InterceptRequest(request);
var response = RestClient.Execute(request);
InterceptResponse(request, 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);
…