Breezin Access Control GraphQL API Docs
Welcome to the Breezin Access Control GraphQL API documentation. Here you will find the available queries, mutations and types to interact with our system using API Integration.
API Endpoints
# Production:
https://ams-gateway-cocm3dyfiq-nw.a.run.app/query
Headers
# Bearer token used to authenticate API integration
Authorization: Bearer <YOUR_TOKEN_HERE>
What Is GQL?
GQL (Graph Query Language) is a technology that helps solve the problems of over and under-fetching data which frequently happens with REST services. It's easy to install, with a large number of supported libraries for many programming languages. If you're just dipping your toes into the GQL lake, it's recommended to read the GQL documentation available here.
Can I just use REST?
Please find the Breezin Access Control REST API Docs here.
Where do I find my API Token?
Coming Soon!
Queries
fetchAccessUserBySerial
Description
fetchAccessUserBySerial will attempt to fetch a AccessUser record from the Cloud DB based on a provided Serial Number value.
Response
Returns an AccessUser!
Arguments
| Name | Description |
|---|---|
input - FetchAccessUserBySerialRequest
|
Example
Query
query FetchAccessUserBySerial($input: FetchAccessUserBySerialRequest) {
fetchAccessUserBySerial(input: $input) {
accountID
created
creator
dateOfBirth
externalReferenceID
firstName
homeSite
latestJoinDate
lastModified
lastName
lastImageSyncTimestamp
lastPictureNotification
modifier
packageName
packageCategory
phoneNumber
emailAddress
postCode
hasProfilePicture
serialNumberList
serialNumberIntList
serialNumberDetails {
serialNumber
created
expiryDate
}
}
}
Variables
{"input": FetchAccessUserBySerialRequest}
Response
{
"data": {
"fetchAccessUserBySerial": {
"accountID": "abc123",
"created": "2024-03-23T17:21:00Z",
"creator": "example@email.com",
"dateOfBirth": "abc123",
"externalReferenceID": "ab12cd34ef56",
"firstName": "abc123",
"homeSite": "abc123",
"latestJoinDate": "abc123",
"lastModified": "2024-03-23T17:21:00Z",
"lastName": "xyz789",
"lastImageSyncTimestamp": "2024-03-23T17:21:00Z",
"lastPictureNotification": "2024-03-23T17:21:00Z",
"modifier": "example@email.com",
"packageName": "abc123",
"packageCategory": "xyz789",
"phoneNumber": "xyz789",
"emailAddress": "example@email.com",
"postCode": "xyz789",
"hasProfilePicture": false,
"serialNumberList": ["xyz789"],
"serialNumberIntList": [42],
"serialNumberDetails": [SerialNumberDetails]
}
}
}
fetchBatchRequestByID
Description
fetchBatchRequestByID will attempt to retrieve the details of BatchRequest document from the Cloud DB.
Response
Returns a BatchRequest!
Arguments
| Name | Description |
|---|---|
input - FetchBatchRequestByIdRequest
|
Example
Query
query FetchBatchRequestByID($input: FetchBatchRequestByIdRequest) {
fetchBatchRequestByID(input: $input) {
batchCount
failureResults
failureCount
jobIssuer
status
successCount
successResults
type
emailAddresses
uploadTimestamp
}
}
Variables
{"input": FetchBatchRequestByIdRequest}
Response
{
"data": {
"fetchBatchRequestByID": {
"batchCount": 10,
"failureResults": "https://www.somelinktofile.com/",
"failureCount": 1,
"jobIssuer": "example@email.com",
"status": "active",
"successCount": 9,
"successResults": "https://www.somelinktofile.com/",
"type": "Some type",
"emailAddresses": ["xyz789"],
"uploadTimestamp": "2024-03-23T17:21:00Z"
}
}
}
fetchCarParkSettingsForSite
Description
fetchCarParkSettingsForSite will attempt to fetch the latest Car Park settings configured for an Organisation's Site.
Response
Returns a CarParkSettings!
Arguments
| Name | Description |
|---|---|
input - FetchCarParkSettingsForSiteRequest
|
Example
Query
query FetchCarParkSettingsForSite($input: FetchCarParkSettingsForSiteRequest) {
fetchCarParkSettingsForSite(input: $input) {
created
creator
lastModified
modifier
carParkTimeLimit
maximumCarParkSpaces
parkingNotificationEmailAddresses
}
}
Variables
{"input": FetchCarParkSettingsForSiteRequest}
Response
{
"data": {
"fetchCarParkSettingsForSite": {
"created": "2024-03-23T17:21:00Z",
"creator": "example@email.com",
"lastModified": "2024-03-23T17:21:00Z",
"modifier": "example@email.com",
"carParkTimeLimit": 42,
"maximumCarParkSpaces": 42,
"parkingNotificationEmailAddresses": [
"abc123"
]
}
}
}
fetchPaginatedAccessUserRecords
Description
fetchPaginatedAccessUserRecords will attempt to fetch a paginated list of AccessUser records from the Cloud DB for an Organisation.
Response
Returns a PaginatedAccessUserResponse!
Arguments
| Name | Description |
|---|---|
input - FetchPaginatedAccessUsersRequest
|
Example
Query
query FetchPaginatedAccessUserRecords($input: FetchPaginatedAccessUsersRequest) {
fetchPaginatedAccessUserRecords(input: $input) {
accessUserRecords {
accountID
created
creator
dateOfBirth
externalReferenceID
firstName
homeSite
latestJoinDate
lastModified
lastName
lastImageSyncTimestamp
lastPictureNotification
modifier
packageName
packageCategory
phoneNumber
emailAddress
postCode
hasProfilePicture
serialNumberList
serialNumberIntList
serialNumberDetails {
...SerialNumberDetailsFragment
}
}
lastDocID
lastModifiedTimestamp
}
}
Variables
{"input": FetchPaginatedAccessUsersRequest}
Response
{
"data": {
"fetchPaginatedAccessUserRecords": {
"accessUserRecords": [AccessUser],
"lastDocID": "some-doc-id",
"lastModifiedTimestamp": "2024-03-23T17:21:00Z"
}
}
}
fetchPaginatedCardReaderErrors
Description
fetchPaginatedCardReaderErrors will attempt to fetch a paginated list of errors reported for a specific Card Reader instance.
Response
Returns a FetchPaginatedCardReaderErrorsResponse!
Arguments
| Name | Description |
|---|---|
input - FetchPaginatedCardReaderErrorsRequest
|
Example
Query
query FetchPaginatedCardReaderErrors($input: FetchPaginatedCardReaderErrorsRequest) {
fetchPaginatedCardReaderErrors(input: $input) {
readerErrors {
timestamp
errorCode
errorReason
}
lastUploadTimestamp
lastDocID
}
}
Variables
{"input": FetchPaginatedCardReaderErrorsRequest}
Response
{
"data": {
"fetchPaginatedCardReaderErrors": {
"readerErrors": [DetailedReaderError],
"lastUploadTimestamp": "2024-03-23T17:21:00Z",
"lastDocID": "some-doc-id"
}
}
}
fetchPaginatedCardReaders
Description
fetchPaginatedCardReaders will attempt to fetch a paginated list of Card Reader records from the Cloud DB.
Response
Returns a PaginatedReaderResponse!
Arguments
| Name | Description |
|---|---|
input - PaginatedCardReaderRequest
|
Example
Query
query FetchPaginatedCardReaders($input: PaginatedCardReaderRequest) {
fetchPaginatedCardReaders(input: $input) {
cardReaderRecords {
accessToken
accessZoneName
created
creator
direction
lastModified
lastUpdateTime
modifier
pulseTime
siteID
title
lastHealthCheck
readerMacAddress
readerSerial
esp32IdfVersion
esp32AppVersion
pnNpxFwVersion
pnAppVersion
lastReboot
status
}
lastDocID
lastModifiedTimestamp
}
}
Variables
{"input": PaginatedCardReaderRequest}
Response
{
"data": {
"fetchPaginatedCardReaders": {
"cardReaderRecords": [Reader],
"lastDocID": "some-doc-id",
"lastModifiedTimestamp": "2024-03-23T17:21:00Z"
}
}
}
fetchPaginatedInvoices
Description
fetchPaginatedInvoices will attempt to fetch a paginated list of an Organisation's Invoices from the Cloud DB.
Response
Returns a PaginatedInvoicesResponse!
Arguments
| Name | Description |
|---|---|
input - PaginatedInvoicesRequest
|
Example
Query
query FetchPaginatedInvoices($input: PaginatedInvoicesRequest) {
fetchPaginatedInvoices(input: $input) {
invoices {
amount
anprSiteCharge
anprSiteCount
anprSitePrice
apiCharge
billingPeriod
dateOfInvoice
dueDate
invoiceNumber
invoiceURL
lastModified
paymentCurrency
paymentDate
paymentReminderPeriod
paymentReminderTaskName
paymentTerms
payments
platformCharge
overdueInvoiceTaskName
siteCharge
siteCount
sitePrice
shutoffPeriod
shutOffTaskName
startOfInvoice
status
supportCharge
supportPackage
vatAmount
}
lastStartDate
lastDocID
}
}
Variables
{"input": PaginatedInvoicesRequest}
Response
{
"data": {
"fetchPaginatedInvoices": {
"invoices": [Invoice],
"lastStartDate": "2024-03-23T17:21:00Z",
"lastDocID": "some-doc-id"
}
}
}
fetchPaginatedOnSiteServers
Description
fetchPaginatedOnSiteServers will attempt to fetch a paginated list of On-Site Servers from the Cloud DB.
Response
Returns a PaginatedServerResponse!
Arguments
| Name | Description |
|---|---|
input - PaginatedServerRequest
|
Example
Query
query FetchPaginatedOnSiteServers($input: PaginatedServerRequest) {
fetchPaginatedOnSiteServers(input: $input) {
serverRecords {
accessToken
apiAccessToken
created
creator
lastModified
lastUpdateTime
lastReportedVersion
modifier
siteID
serverMode
title
ipAddress
lastHealthCheck
}
lastDocID
lastModifiedTimestamp
}
}
Variables
{"input": PaginatedServerRequest}
Response
{
"data": {
"fetchPaginatedOnSiteServers": {
"serverRecords": [Server],
"lastDocID": "some-doc-id",
"lastModifiedTimestamp": "2024-03-23T17:21:00Z"
}
}
}
fetchPaginatedPayments
Description
fetchPaginatedPayments will attempt to get a paginated list of Payments for an Organisation's account.
Response
Returns a PaginatedPaymentsResponse!
Arguments
| Name | Description |
|---|---|
input - GetPaginatedPaymentsRequest
|
Example
Query
query FetchPaginatedPayments($input: GetPaginatedPaymentsRequest) {
fetchPaginatedPayments(input: $input) {
paymentDocs {
amountPaid
dateOfPayment
invoiceNumber
reporter
}
lastPaymentDate
lastDocID
}
}
Variables
{"input": GetPaginatedPaymentsRequest}
Response
{
"data": {
"fetchPaginatedPayments": {
"paymentDocs": [Payment],
"lastPaymentDate": "2024-03-23T17:21:00Z",
"lastDocID": "some-doc-id"
}
}
}
fetchPaginatedSites
Description
fetchPaginatedSites will attempt to retrieve a paginated list of Site records from the Cloud DB
Response
Returns a PaginatedSiteResponse!
Arguments
| Name | Description |
|---|---|
input - FetchPaginatedSitesRequest
|
Example
Query
query FetchPaginatedSites($input: FetchPaginatedSitesRequest) {
fetchPaginatedSites(input: $input) {
siteRecords {
id
siteAccessZones
created
creator
lastModified
modifier
displayName
siteAccessLevelList
isAccessControlEnabled
isAnprEnabled
}
lastDocID
lastModifiedTimestamp
}
}
Variables
{"input": FetchPaginatedSitesRequest}
Response
{
"data": {
"fetchPaginatedSites": {
"siteRecords": [Site],
"lastDocID": "some-doc-id",
"lastModifiedTimestamp": "2024-03-23T17:21:00Z"
}
}
}
fetchPaginatedTabletUsers
Description
fetchPaginatedTabletUsers will attempt to retrieve a paginated list of Tablet User records from the Cloud DB.
Response
Returns a PaginatedTabletUserResponse!
Arguments
| Name | Description |
|---|---|
input - PaginatedTabletUserRequest
|
Example
Query
query FetchPaginatedTabletUsers($input: PaginatedTabletUserRequest) {
fetchPaginatedTabletUsers(input: $input) {
tabletUserRecords {
created
creator
emailAddress
isLocked
lastModified
modifier
siteID
username
}
lastDocID
lastModifiedTimestamp
}
}
Variables
{"input": PaginatedTabletUserRequest}
Response
{
"data": {
"fetchPaginatedTabletUsers": {
"tabletUserRecords": [TabletUserDetails],
"lastDocID": "some-doc-id",
"lastModifiedTimestamp": "2024-03-23T17:21:00Z"
}
}
}
fetchPaginatedUserAccessLogs
Description
fetchPaginatedUserAccessLogs will attempt to retrieve a paginated batch of Access Logs for a specified User.
Response
Returns a PaginatedUserAccessLogsResponse!
Arguments
| Name | Description |
|---|---|
input - PaginatedUserAccessLogsRequest
|
Example
Query
query FetchPaginatedUserAccessLogs($input: PaginatedUserAccessLogsRequest) {
fetchPaginatedUserAccessLogs(input: $input) {
accessLogRecords {
accessZoneName
dwellDuration
entryTime
exitTime
externalReferenceID
firstName
lastName
serialNumber
siteID
uploaded
uploadedTimestamp
}
lastDocID
lastUploadedTimestamp
}
}
Variables
{"input": PaginatedUserAccessLogsRequest}
Response
{
"data": {
"fetchPaginatedUserAccessLogs": {
"accessLogRecords": [AccessLog],
"lastDocID": "some-doc-id",
"lastUploadedTimestamp": "2024-03-23T17:21:00Z"
}
}
}
fetchPaginatedUserPassRecords
Description
fetchPaginatedUserPassRecords will attempt to fetch a paginated list of UserPass records from the Cloud DB for an Organisation.
Response
Returns a PaginatedUserPassResponse!
Arguments
| Name | Description |
|---|---|
input - FetchPaginatedUserPassRecordsRequest
|
Example
Query
query FetchPaginatedUserPassRecords($input: FetchPaginatedUserPassRecordsRequest) {
fetchPaginatedUserPassRecords(input: $input) {
userPassRecords {
accessZones
activationDate
created
creator
expiryDate
externalReferenceID
firstName
lastModified
lastName
modifier
passType
hasProfilePicture
serialNumber
serialNumberInt
accessLevelList
allowedSites
}
lastDocID
lastModifiedTimestamp
}
}
Variables
{"input": FetchPaginatedUserPassRecordsRequest}
Response
{
"data": {
"fetchPaginatedUserPassRecords": {
"userPassRecords": [UserPass],
"lastDocID": "some-doc-id",
"lastModifiedTimestamp": "2024-03-23T17:21:00Z"
}
}
}
fetchPaginatedUserSwipeLogs
Description
fetchPaginatedUserSwipeLogs will attempt to retrieve a paginated batch of Swipe Logs for a specified User.
Response
Returns a PaginatedUserSwipeLogsResponse!
Arguments
| Name | Description |
|---|---|
input - PaginatedUserSwipeLogsRequest
|
Example
Query
query FetchPaginatedUserSwipeLogs($input: PaginatedUserSwipeLogsRequest) {
fetchPaginatedUserSwipeLogs(input: $input) {
swipeLogRecords {
accessGranted
denialReason
externalReferenceID
firstName
gateDirection
lastName
manualOpen
readerAccessZone
readerID
reentryWarning
serialNumber
serverName
siteID
uploaded
uploadedTimestamp
usageDay
usageMonth
usageYear
usageTimestamp
}
lastDocID
lastUploadedTimestamp
}
}
Variables
{"input": PaginatedUserSwipeLogsRequest}
Response
{
"data": {
"fetchPaginatedUserSwipeLogs": {
"swipeLogRecords": [SwipeLog],
"lastDocID": "some-doc-id",
"lastUploadedTimestamp": "2024-03-23T17:21:00Z"
}
}
}
fetchPictureBatchRequestByID
Description
fetchPictureBatchRequestByID will attempt to retrieve the details of BatchPictureRequest document from the Cloud DB.
Response
Returns a BatchPictureRequest!
Arguments
| Name | Description |
|---|---|
input - FetchPictureBatchRequestByIdRequest
|
Example
Query
query FetchPictureBatchRequestByID($input: FetchPictureBatchRequestByIdRequest) {
fetchPictureBatchRequestByID(input: $input) {
batchCount
failureResults
failureCount
jobIssuer
status
successCount
successResults
emailAddresses
uploadTimestamp
}
}
Variables
{"input": FetchPictureBatchRequestByIdRequest}
Response
{
"data": {
"fetchPictureBatchRequestByID": {
"batchCount": 10,
"failureResults": "https://www.somelinktofile.com/",
"failureCount": 1,
"jobIssuer": "example@email.com",
"status": "active",
"successCount": 9,
"successResults": "https://www.somelinktofile.com/",
"emailAddresses": ["abc123"],
"uploadTimestamp": "2024-03-23T17:21:00Z"
}
}
}
fetchReadersByAccessZone
Description
fetchReadersByAccessZone will attempt to fetch Reader Details assigned for an Access Zone.
Response
Returns a FetchReadersByAccessZoneResponse!
Arguments
| Name | Description |
|---|---|
input - FetchReadersByAccessZoneRequest
|
Example
Query
query FetchReadersByAccessZone($input: FetchReadersByAccessZoneRequest) {
fetchReadersByAccessZone(input: $input) {
cardReaderRecords {
accessToken
accessZoneName
created
creator
direction
lastModified
lastUpdateTime
modifier
pulseTime
siteID
title
lastHealthCheck
readerMacAddress
readerSerial
esp32IdfVersion
esp32AppVersion
pnNpxFwVersion
pnAppVersion
lastReboot
status
}
}
}
Variables
{"input": FetchReadersByAccessZoneRequest}
Response
{
"data": {
"fetchReadersByAccessZone": {
"cardReaderRecords": [Reader]
}
}
}
fetchUserAccessBySerial
Description
DEPRECATED: fetchUserAccessBySerial will attempt to fetch a UserAccess record from the Cloud DB based on a provided Serial Number value. This API Endpoint will now query the new AccessUser, UserPass and ProfilePicture structures to retrieve the data as per the old UserAccess structure. Please migrate integration to the new API flow.
Response
Returns a UserAccess!
Arguments
| Name | Description |
|---|---|
input - FetchUserAccessBySerialRequest
|
Example
Query
query FetchUserAccessBySerial($input: FetchUserAccessBySerialRequest) {
fetchUserAccessBySerial(input: $input) {
accessZones
accountID
activationDate
created
creator
dateOfBirth
expiryDate
externalReferenceID
firstName
homeSite
latestJoinDate
lastModified
lastName
lastImageSyncTimestamp
modifier
packageName
packageCategory
passType
postCode
profilePicture
serialNumber
serialNumberInt
accessLevelList
allowedSites
}
}
Variables
{"input": FetchUserAccessBySerialRequest}
Response
{
"data": {
"fetchUserAccessBySerial": {
"accessZones": {"some_key": "Some Value", "another_key": "Another Value"},
"accountID": "xyz789",
"activationDate": "2024-03-23T17:21:00Z",
"created": "2024-03-23T17:21:00Z",
"creator": "example@email.com",
"dateOfBirth": "abc123",
"expiryDate": "2024-03-23T17:21:00Z",
"externalReferenceID": "ab12cd34ef56",
"firstName": "xyz789",
"homeSite": "xyz789",
"latestJoinDate": "abc123",
"lastModified": "2024-03-23T17:21:00Z",
"lastName": "abc123",
"lastImageSyncTimestamp": "2024-03-23T17:21:00Z",
"modifier": "example@email.com",
"packageName": "abc123",
"packageCategory": "xyz789",
"passType": "abc123",
"postCode": "abc123",
"profilePicture": "xyz789",
"serialNumber": "110100000001",
"serialNumberInt": 42,
"accessLevelList": ["abc123"],
"allowedSites": ["abc123"]
}
}
}
fetchUserPassRecordBySerial
Description
fetchUserPassRecordBySerial will attempt to fetch a UserPass record from the Cloud DB based on a provided Serial Number value.
Response
Returns a UserPass!
Arguments
| Name | Description |
|---|---|
input - FetchUserPassRecordBySerialRequest
|
Example
Query
query FetchUserPassRecordBySerial($input: FetchUserPassRecordBySerialRequest) {
fetchUserPassRecordBySerial(input: $input) {
accessZones
activationDate
created
creator
expiryDate
externalReferenceID
firstName
lastModified
lastName
modifier
passType
hasProfilePicture
serialNumber
serialNumberInt
accessLevelList
allowedSites
}
}
Variables
{"input": FetchUserPassRecordBySerialRequest}
Response
{
"data": {
"fetchUserPassRecordBySerial": {
"accessZones": {"some_key": "Some Value", "another_key": "Another Value"},
"activationDate": "2024-03-23T17:21:00Z",
"created": "2024-03-23T17:21:00Z",
"creator": "example@email.com",
"expiryDate": "2024-03-23T17:21:00Z",
"externalReferenceID": "ab12cd34ef56",
"firstName": "abc123",
"lastModified": "2024-03-23T17:21:00Z",
"lastName": "abc123",
"modifier": "example@email.com",
"passType": "abc123",
"hasProfilePicture": false,
"serialNumber": "110100000001",
"serialNumberInt": 42,
"accessLevelList": ["xyz789"],
"allowedSites": ["abc123"]
}
}
}
generateAccessLogReportForAllSites
Description
generateAccessLogReportForAllSites will attempt to generate an Access Log report for all Sites based on provided filter options.
Response
Returns a ReportingResponse!
Arguments
| Name | Description |
|---|---|
input - GenerateAccessLogReportForAllSitesRequest
|
Example
Query
query GenerateAccessLogReportForAllSites($input: GenerateAccessLogReportForAllSitesRequest) {
generateAccessLogReportForAllSites(input: $input) {
message
reportID
}
}
Variables
{"input": GenerateAccessLogReportForAllSitesRequest}
Response
{
"data": {
"generateAccessLogReportForAllSites": {
"message": "Response message containing results of API request",
"reportID": "xyz789"
}
}
}
generateAccessLogReportForSite
Description
generateAccessLogReportForSite will attempt to generate an Access Log report for a Site based on provided filter options.
Response
Returns a ReportingResponse!
Arguments
| Name | Description |
|---|---|
input - GenerateSiteAccessLogReportRequest
|
Example
Query
query GenerateAccessLogReportForSite($input: GenerateSiteAccessLogReportRequest) {
generateAccessLogReportForSite(input: $input) {
message
reportID
}
}
Variables
{"input": GenerateSiteAccessLogReportRequest}
Response
{
"data": {
"generateAccessLogReportForSite": {
"message": "Response message containing results of API request",
"reportID": "xyz789"
}
}
}
generateAccessLogReportForUser
Description
generateAccessLogReportForUser will attempt to generate an Access Log report for a User based on provided filter options.
Response
Returns a ReportingResponse!
Arguments
| Name | Description |
|---|---|
input - GenerateUserAccessLogReportRequest
|
Example
Query
query GenerateAccessLogReportForUser($input: GenerateUserAccessLogReportRequest) {
generateAccessLogReportForUser(input: $input) {
message
reportID
}
}
Variables
{"input": GenerateUserAccessLogReportRequest}
Response
{
"data": {
"generateAccessLogReportForUser": {
"message": "Response message containing results of API request",
"reportID": "xyz789"
}
}
}
generateSiteVehicleAccessLogReport
Description
generateSiteVehicleAccessLogReport will attempt to generate a Vehicle Access Log report for a site based on provided filter options.
Response
Returns a ReportingResponse!
Arguments
| Name | Description |
|---|---|
input - GenerateSiteVehicleAccessLogReportRequest
|
Example
Query
query GenerateSiteVehicleAccessLogReport($input: GenerateSiteVehicleAccessLogReportRequest) {
generateSiteVehicleAccessLogReport(input: $input) {
message
reportID
}
}
Variables
{"input": GenerateSiteVehicleAccessLogReportRequest}
Response
{
"data": {
"generateSiteVehicleAccessLogReport": {
"message": "Response message containing results of API request",
"reportID": "xyz789"
}
}
}
generateSiteVehicleSwipeLogReport
Description
generateSiteVehicleSwipeLogReport will attempt to generate a Vehicle Swipe Log report for a site based on provided filter options.
Response
Returns a ReportingResponse!
Arguments
| Name | Description |
|---|---|
input - GenerateSiteVehicleSwipeLogReportRequest
|
Example
Query
query GenerateSiteVehicleSwipeLogReport($input: GenerateSiteVehicleSwipeLogReportRequest) {
generateSiteVehicleSwipeLogReport(input: $input) {
message
reportID
}
}
Variables
{"input": GenerateSiteVehicleSwipeLogReportRequest}
Response
{
"data": {
"generateSiteVehicleSwipeLogReport": {
"message": "Response message containing results of API request",
"reportID": "abc123"
}
}
}
generateSwipeLogReportForAllSites
Description
generateSwipeLogReportForAllSites will attempt to generate a Swipe Log report for all sites based on provided filter options.
Response
Returns a ReportingResponse!
Arguments
| Name | Description |
|---|---|
input - GenerateSwipeLogReportForAllSitesRequest
|
Example
Query
query GenerateSwipeLogReportForAllSites($input: GenerateSwipeLogReportForAllSitesRequest) {
generateSwipeLogReportForAllSites(input: $input) {
message
reportID
}
}
Variables
{"input": GenerateSwipeLogReportForAllSitesRequest}
Response
{
"data": {
"generateSwipeLogReportForAllSites": {
"message": "Response message containing results of API request",
"reportID": "xyz789"
}
}
}
generateSwipeLogReportForSite
Description
generateSwipeLogReportForSite will attempt to generate a Swipe Log report for a site based on provided filter options.
Response
Returns a ReportingResponse!
Arguments
| Name | Description |
|---|---|
input - GenerateSiteSwipeLogReportRequest
|
Example
Query
query GenerateSwipeLogReportForSite($input: GenerateSiteSwipeLogReportRequest) {
generateSwipeLogReportForSite(input: $input) {
message
reportID
}
}
Variables
{"input": GenerateSiteSwipeLogReportRequest}
Response
{
"data": {
"generateSwipeLogReportForSite": {
"message": "Response message containing results of API request",
"reportID": "abc123"
}
}
}
generateSwipeLogReportForUser
Description
generateSwipeLogReportForUser will attempt to generate a Swipe Log report for a User based on provided filter options.
Response
Returns a ReportingResponse!
Arguments
| Name | Description |
|---|---|
input - GenerateUserSwipeLogReportRequest
|
Example
Query
query GenerateSwipeLogReportForUser($input: GenerateUserSwipeLogReportRequest) {
generateSwipeLogReportForUser(input: $input) {
message
reportID
}
}
Variables
{"input": GenerateUserSwipeLogReportRequest}
Response
{
"data": {
"generateSwipeLogReportForUser": {
"message": "Response message containing results of API request",
"reportID": "xyz789"
}
}
}
generateVehicleAccessLogReportForAllSites
Description
generateVehicleAccessLogReportForAllSites will attempt to generate a Vehicle Access Log report for all sites based on provided filter options.
Response
Returns a ReportingResponse!
Arguments
| Name | Description |
|---|---|
input - GenerateVehicleAccessLogReportForAllSitesRequest
|
Example
Query
query GenerateVehicleAccessLogReportForAllSites($input: GenerateVehicleAccessLogReportForAllSitesRequest) {
generateVehicleAccessLogReportForAllSites(input: $input) {
message
reportID
}
}
Variables
{
"input": GenerateVehicleAccessLogReportForAllSitesRequest
}
Response
{
"data": {
"generateVehicleAccessLogReportForAllSites": {
"message": "Response message containing results of API request",
"reportID": "abc123"
}
}
}
generateVehicleSwipeLogReportForAllSites
Description
generateVehicleSwipeLogReportForAllSites will attempt to generate a Vehicle Swipe Log report for all sites based on provided filter options.
Response
Returns a ReportingResponse!
Arguments
| Name | Description |
|---|---|
input - GenerateVehicleSwipeLogReportForAllSitesRequest
|
Example
Query
query GenerateVehicleSwipeLogReportForAllSites($input: GenerateVehicleSwipeLogReportForAllSitesRequest) {
generateVehicleSwipeLogReportForAllSites(input: $input) {
message
reportID
}
}
Variables
{"input": GenerateVehicleSwipeLogReportForAllSitesRequest}
Response
{
"data": {
"generateVehicleSwipeLogReportForAllSites": {
"message": "Response message containing results of API request",
"reportID": "xyz789"
}
}
}
getAccessLevelByTitle
Description
getAccessLevelByTitle will attempt to fetch an Access Level record by Title from the Cloud DB.
Response
Returns an AccessLevel!
Arguments
| Name | Description |
|---|---|
input - GetAccessLevelByTitleRequest
|
Example
Query
query GetAccessLevelByTitle($input: GetAccessLevelByTitleRequest) {
getAccessLevelByTitle(input: $input) {
title
description
created
creator
lastModified
modifier
displayName
}
}
Variables
{"input": GetAccessLevelByTitleRequest}
Response
{
"data": {
"getAccessLevelByTitle": {
"title": "Some Title",
"description": "Some description",
"created": "2024-03-23T17:21:00Z",
"creator": "example@email.com",
"lastModified": "2024-03-23T17:21:00Z",
"modifier": "example@email.com",
"displayName": "xyz789"
}
}
}
getAccessUserByExternalReferenceID
Description
getAccessUserByExternalReferenceID will attempt to AccessUser record which matches on a provided ExternalReferenceID value.
Response
Returns an AccessUser!
Arguments
| Name | Description |
|---|---|
input - GetAccessUserByExternalRefIdRequest
|
Example
Query
query GetAccessUserByExternalReferenceID($input: GetAccessUserByExternalRefIdRequest) {
getAccessUserByExternalReferenceID(input: $input) {
accountID
created
creator
dateOfBirth
externalReferenceID
firstName
homeSite
latestJoinDate
lastModified
lastName
lastImageSyncTimestamp
lastPictureNotification
modifier
packageName
packageCategory
phoneNumber
emailAddress
postCode
hasProfilePicture
serialNumberList
serialNumberIntList
serialNumberDetails {
serialNumber
created
expiryDate
}
}
}
Variables
{"input": GetAccessUserByExternalRefIdRequest}
Response
{
"data": {
"getAccessUserByExternalReferenceID": {
"accountID": "xyz789",
"created": "2024-03-23T17:21:00Z",
"creator": "example@email.com",
"dateOfBirth": "xyz789",
"externalReferenceID": "ab12cd34ef56",
"firstName": "abc123",
"homeSite": "abc123",
"latestJoinDate": "xyz789",
"lastModified": "2024-03-23T17:21:00Z",
"lastName": "xyz789",
"lastImageSyncTimestamp": "2024-03-23T17:21:00Z",
"lastPictureNotification": "2024-03-23T17:21:00Z",
"modifier": "example@email.com",
"packageName": "abc123",
"packageCategory": "xyz789",
"phoneNumber": "abc123",
"emailAddress": "example@email.com",
"postCode": "abc123",
"hasProfilePicture": false,
"serialNumberList": ["abc123"],
"serialNumberIntList": [42],
"serialNumberDetails": [SerialNumberDetails]
}
}
}
getCameraBySerial
Description
getCameraBySerial will attempt to retrieve the details of an Organisation's ANPR Camera which matches on a provided serial number.
Response
Returns a Camera!
Arguments
| Name | Description |
|---|---|
input - GetCameraBySerialRequest
|
Example
Query
query GetCameraBySerial($input: GetCameraBySerialRequest) {
getCameraBySerial(input: $input) {
created
creator
direction
serial
title
lastModified
modifier
siteID
}
}
Variables
{"input": GetCameraBySerialRequest}
Response
{
"data": {
"getCameraBySerial": {
"created": "2024-03-23T17:21:00Z",
"creator": "example@email.com",
"direction": "abc123",
"serial": "abc123",
"title": "Some Title",
"lastModified": "2024-03-23T17:21:00Z",
"modifier": "example@email.com",
"siteID": "xyz789"
}
}
}
getCameraServerByTitle
Description
getCameraServerByTitle will attempt to retrieve an Organisation's ANPR Camera Server record which matches on a provided title field.
Response
Returns a CameraServer!
Arguments
| Name | Description |
|---|---|
input - GetCameraServerByTitleRequest
|
Example
Query
query GetCameraServerByTitle($input: GetCameraServerByTitleRequest) {
getCameraServerByTitle(input: $input) {
accessToken
apiAccessToken
created
creator
ipAddress
lastHealthCheck
lastModified
lastReportedVersion
modifier
siteID
title
}
}
Variables
{"input": GetCameraServerByTitleRequest}
Response
{
"data": {
"getCameraServerByTitle": {
"accessToken": "xyz789",
"apiAccessToken": "abc123",
"created": "2024-03-23T17:21:00Z",
"creator": "example@email.com",
"ipAddress": "abc123",
"lastHealthCheck": "2024-03-23T17:21:00Z",
"lastModified": "2024-03-23T17:21:00Z",
"lastReportedVersion": "xyz789",
"modifier": "example@email.com",
"siteID": "xyz789",
"title": "Some Title"
}
}
}
getCamerasForSite
Description
getCamerasForSite will attempt to retrieve a list of an Organisation's ANPR Camera records for a provided Site.
Response
Returns a GetCamerasForSiteResponse!
Arguments
| Name | Description |
|---|---|
input - GetCamerasForSiteRequest
|
Example
Query
query GetCamerasForSite($input: GetCamerasForSiteRequest) {
getCamerasForSite(input: $input) {
cameraRecords {
created
creator
direction
serial
title
lastModified
modifier
siteID
}
}
}
Variables
{"input": GetCamerasForSiteRequest}
Response
{
"data": {
"getCamerasForSite": {"cameraRecords": [Camera]}
}
}
getCamerasForSiteForServer
Description
getCamerasForSiteForServer will attempt to retrieve a list of an Organisation's ANPR Camera records for a CameraServer running on site.
Response
Returns a GetCamerasForSiteResponse!
Example
Query
query GetCamerasForSiteForServer {
getCamerasForSiteForServer {
cameraRecords {
created
creator
direction
serial
title
lastModified
modifier
siteID
}
}
}
Response
{
"data": {
"getCamerasForSiteForServer": {
"cameraRecords": [Camera]
}
}
}
getOnSiteServerByTitle
Description
getOnSiteServerByTitle will attempt to retrieve an existing On-Site Server record from the Cloud DB by searching by server name.
Response
Returns a Server!
Arguments
| Name | Description |
|---|---|
input - GetServerByTitleRequest
|
Example
Query
query GetOnSiteServerByTitle($input: GetServerByTitleRequest) {
getOnSiteServerByTitle(input: $input) {
accessToken
apiAccessToken
created
creator
lastModified
lastUpdateTime
lastReportedVersion
modifier
siteID
serverMode
title
ipAddress
lastHealthCheck
}
}
Variables
{"input": GetServerByTitleRequest}
Response
{
"data": {
"getOnSiteServerByTitle": {
"accessToken": "xyz789",
"apiAccessToken": "xyz789",
"created": "2024-03-23T17:21:00Z",
"creator": "example@email.com",
"lastModified": "2024-03-23T17:21:00Z",
"lastUpdateTime": "2024-03-23T17:21:00Z",
"lastReportedVersion": "xyz789",
"modifier": "example@email.com",
"siteID": "abc123",
"serverMode": "xyz789",
"title": "Some Title",
"ipAddress": "abc123",
"lastHealthCheck": "2024-03-23T17:21:00Z"
}
}
}
getPaginatedAccessLevels
Description
getPaginatedAccessLevels will attempt to fetch a paginated list of an Organisation's Access Levels from the Cloud DB.
Response
Returns a PaginatedAccessLevelsResponse!
Arguments
| Name | Description |
|---|---|
input - PaginatedAccessLevelsRequest
|
Example
Query
query GetPaginatedAccessLevels($input: PaginatedAccessLevelsRequest) {
getPaginatedAccessLevels(input: $input) {
accessLevels {
title
description
created
creator
lastModified
modifier
displayName
}
lastModifiedDate
lastDocID
}
}
Variables
{"input": PaginatedAccessLevelsRequest}
Response
{
"data": {
"getPaginatedAccessLevels": {
"accessLevels": [AccessLevel],
"lastModifiedDate": "2024-03-23T17:21:00Z",
"lastDocID": "some-doc-id"
}
}
}
getPaginatedReportingRequests
Description
getPaginatedReportingRequests will attempt to get paginated reporting requests.
Response
Returns a PaginatedReportingRequestsResponse!
Arguments
| Name | Description |
|---|---|
input - GetPaginatedReportingRequestsRequest
|
Example
Query
query GetPaginatedReportingRequests($input: GetPaginatedReportingRequestsRequest) {
getPaginatedReportingRequests(input: $input) {
reportingRequestList {
reportType
status
created
requester
lastModified
downloadURL
}
lastDocID
lastModifiedTimestamp
}
}
Variables
{"input": GetPaginatedReportingRequestsRequest}
Response
{
"data": {
"getPaginatedReportingRequests": {
"reportingRequestList": [ReportingRequest],
"lastDocID": "some-doc-id",
"lastModifiedTimestamp": "2024-03-23T17:21:00Z"
}
}
}
getProfilePicForExternalRefID
Description
getProfilePicForExternalRefID will attempt to fetch a Profile Picture for a Access User record which matches on the provided Serial Number value.
Response
Returns a ProfilePicture!
Arguments
| Name | Description |
|---|---|
input - GetProfilePicForExternalRefIdRequest
|
Example
Query
query GetProfilePicForExternalRefID($input: GetProfilePicForExternalRefIdRequest) {
getProfilePicForExternalRefID(input: $input) {
aHash
dHash
externalReferenceID
imageAccepted
lastModified
modifier
pHash
profilePicture
source
}
}
Variables
{"input": GetProfilePicForExternalRefIdRequest}
Response
{
"data": {
"getProfilePicForExternalRefID": {
"aHash": "xyz789",
"dHash": "xyz789",
"externalReferenceID": "ab12cd34ef56",
"imageAccepted": true,
"lastModified": "2024-03-23T17:21:00Z",
"modifier": "example@email.com",
"pHash": "abc123",
"profilePicture": "abc123",
"source": "xyz789"
}
}
}
getProfilePicForSerialNumber
Description
getProfilePicForSerialNumber will attempt to fetch a Profile Picture for a Access User record which matches on the provided Serial Number value.
Response
Returns a ProfilePicture!
Arguments
| Name | Description |
|---|---|
input - GetProfilePicForSerialRequest
|
Example
Query
query GetProfilePicForSerialNumber($input: GetProfilePicForSerialRequest) {
getProfilePicForSerialNumber(input: $input) {
aHash
dHash
externalReferenceID
imageAccepted
lastModified
modifier
pHash
profilePicture
source
}
}
Variables
{"input": GetProfilePicForSerialRequest}
Response
{
"data": {
"getProfilePicForSerialNumber": {
"aHash": "abc123",
"dHash": "abc123",
"externalReferenceID": "ab12cd34ef56",
"imageAccepted": false,
"lastModified": "2024-03-23T17:21:00Z",
"modifier": "example@email.com",
"pHash": "xyz789",
"profilePicture": "xyz789",
"source": "abc123"
}
}
}
getReaderByTitle
Description
getReaderByTitle will attempt to retrieve a Card Reader record from the Cloud DB based on a specified Card Reader Title.
Response
Returns a Reader!
Arguments
| Name | Description |
|---|---|
input - GetReaderByTitleRequest
|
Example
Query
query GetReaderByTitle($input: GetReaderByTitleRequest) {
getReaderByTitle(input: $input) {
accessToken
accessZoneName
created
creator
direction
lastModified
lastUpdateTime
modifier
pulseTime
siteID
title
lastHealthCheck
readerMacAddress
readerSerial
esp32IdfVersion
esp32AppVersion
pnNpxFwVersion
pnAppVersion
lastReboot
status
}
}
Variables
{"input": GetReaderByTitleRequest}
Response
{
"data": {
"getReaderByTitle": {
"accessToken": "abc123",
"accessZoneName": "xyz789",
"created": "2024-03-23T17:21:00Z",
"creator": "example@email.com",
"direction": "xyz789",
"lastModified": "2024-03-23T17:21:00Z",
"lastUpdateTime": "2024-03-23T17:21:00Z",
"modifier": "example@email.com",
"pulseTime": 42,
"siteID": "abc123",
"title": "Some Title",
"lastHealthCheck": "2024-03-23T17:21:00Z",
"readerMacAddress": "xyz789",
"readerSerial": "xyz789",
"esp32IdfVersion": "abc123",
"esp32AppVersion": "abc123",
"pnNpxFwVersion": "xyz789",
"pnAppVersion": "abc123",
"lastReboot": "2024-03-23T17:21:00Z",
"status": "active"
}
}
}
getReportingRequestByReportID
Description
getReportingRequestByReportID will attempt to get the reporting request for provided Report ID.
Response
Returns a ReportingRequest!
Arguments
| Name | Description |
|---|---|
input - GetReportingRequestByReportIDRequest
|
Example
Query
query GetReportingRequestByReportID($input: GetReportingRequestByReportIDRequest) {
getReportingRequestByReportID(input: $input) {
reportType
status
created
requester
lastModified
downloadURL
}
}
Variables
{"input": GetReportingRequestByReportIDRequest}
Response
{
"data": {
"getReportingRequestByReportID": {
"reportType": "abc123",
"status": "active",
"created": "2024-03-23T17:21:00Z",
"requester": "abc123",
"lastModified": "2024-03-23T17:21:00Z",
"downloadURL": "xyz789"
}
}
}
getSiteByID
Description
getSiteByID will attempt to retrieve a Site record from the Cloud DB by searching on Site title.
Response
Returns a Site!
Arguments
| Name | Description |
|---|---|
input - GetSiteByIdRequest
|
Example
Query
query GetSiteByID($input: GetSiteByIdRequest) {
getSiteByID(input: $input) {
id
siteAccessZones
created
creator
lastModified
modifier
displayName
siteAccessLevelList
isAccessControlEnabled
isAnprEnabled
}
}
Variables
{"input": GetSiteByIdRequest}
Response
{
"data": {
"getSiteByID": {
"id": "some-id",
"siteAccessZones": {
"some_key": "Some Value",
"another_key": "Another Value"
},
"created": "2024-03-23T17:21:00Z",
"creator": "example@email.com",
"lastModified": "2024-03-23T17:21:00Z",
"modifier": "example@email.com",
"displayName": "xyz789",
"siteAccessLevelList": ["xyz789"],
"isAccessControlEnabled": false,
"isAnprEnabled": true
}
}
}
getTabletUserByUsername
Description
getTabletUserByUsername will attempt to fetch a tablet user from the Cloud DB based on a provided username.
Response
Returns a TabletUserDetails!
Arguments
| Name | Description |
|---|---|
input - GetTabletUserByUsernameRequest
|
Example
Query
query GetTabletUserByUsername($input: GetTabletUserByUsernameRequest) {
getTabletUserByUsername(input: $input) {
created
creator
emailAddress
isLocked
lastModified
modifier
siteID
username
}
}
Variables
{"input": GetTabletUserByUsernameRequest}
Response
{
"data": {
"getTabletUserByUsername": {
"created": "2024-03-23T17:21:00Z",
"creator": "example@email.com",
"emailAddress": "example@email.com",
"isLocked": true,
"lastModified": "2024-03-23T17:21:00Z",
"modifier": "example@email.com",
"siteID": "xyz789",
"username": "xyz789"
}
}
}
getUserAccessByExternalReferenceID
Description
DEPRECATED: getUserAccessByExternalReferenceID will attempt to fetch a list of User Access records which match on a provided ExternalReferenceID value. This API Endpoint will now query the new AccessUser, UserPass and ProfilePicture structures to retrieve the data as per the old UserAccess structure. Please migrate integration to the new API flow.
Response
Returns a GetUserAccessByExternalRefIdResponse!
Arguments
| Name | Description |
|---|---|
input - GetUserAccessByExternalRefIdRequest
|
Example
Query
query GetUserAccessByExternalReferenceID($input: GetUserAccessByExternalRefIdRequest) {
getUserAccessByExternalReferenceID(input: $input) {
userAccessRecords {
accessZones
accountID
activationDate
created
creator
dateOfBirth
expiryDate
externalReferenceID
firstName
homeSite
latestJoinDate
lastModified
lastName
lastImageSyncTimestamp
modifier
packageName
packageCategory
passType
postCode
profilePicture
serialNumber
serialNumberInt
accessLevelList
allowedSites
}
}
}
Variables
{"input": GetUserAccessByExternalRefIdRequest}
Response
{
"data": {
"getUserAccessByExternalReferenceID": {
"userAccessRecords": [UserAccess]
}
}
}
getUserPassesByExternalReferenceID
Description
getUserPassesByExternalReferenceID will attempt to UserPass records which match on a provided ExternalReferenceID value.
Response
Returns a GetUserPassesByExternalRefIdResponse!
Arguments
| Name | Description |
|---|---|
input - GetUserPassesByExternalRefIdRequest
|
Example
Query
query GetUserPassesByExternalReferenceID($input: GetUserPassesByExternalRefIdRequest) {
getUserPassesByExternalReferenceID(input: $input) {
userPassRecords {
accessZones
activationDate
created
creator
expiryDate
externalReferenceID
firstName
lastModified
lastName
modifier
passType
hasProfilePicture
serialNumber
serialNumberInt
accessLevelList
allowedSites
}
}
}
Variables
{"input": GetUserPassesByExternalRefIdRequest}
Response
{
"data": {
"getUserPassesByExternalReferenceID": {
"userPassRecords": [UserPass]
}
}
}
regenerateCameraServerAccessToken
Description
regenerateCameraServerAccessToken will attempt to regenerate the access token for an Oraganisation's ANPR Camera Server.
Response
Returns a ResponseMessage!
Arguments
| Name | Description |
|---|---|
input - RegenerateCameraServerAccessTokenRequest
|
Example
Query
query RegenerateCameraServerAccessToken($input: RegenerateCameraServerAccessTokenRequest) {
regenerateCameraServerAccessToken(input: $input) {
message
}
}
Variables
{"input": RegenerateCameraServerAccessTokenRequest}
Response
{
"data": {
"regenerateCameraServerAccessToken": {
"message": "Response message containing results of API request"
}
}
}
Mutations
createAccessLevel
Description
createAccessLevel will attempt to create a new Access Level record for an Organisation.
Response
Returns a ResponseMessage!
Arguments
| Name | Description |
|---|---|
input - CreateAccessLevelRequest
|
Example
Query
mutation CreateAccessLevel($input: CreateAccessLevelRequest) {
createAccessLevel(input: $input) {
message
}
}
Variables
{"input": CreateAccessLevelRequest}
Response
{
"data": {
"createAccessLevel": {
"message": "Response message containing results of API request"
}
}
}
createAccessUserRecord
Description
createAccessUserRecord will attempt to create a new AccessUser record within the Cloud DB for an Organisation.
Response
Returns a ResponseMessage!
Arguments
| Name | Description |
|---|---|
input - CreateAccessUserRequest
|
Example
Query
mutation CreateAccessUserRecord($input: CreateAccessUserRequest) {
createAccessUserRecord(input: $input) {
message
}
}
Variables
{"input": CreateAccessUserRequest}
Response
{
"data": {
"createAccessUserRecord": {
"message": "Response message containing results of API request"
}
}
}
createCamera
Description
createCamera will attempt to create a new ANPR Camera in the Cloud DB for an Organisation.
Response
Returns a ResponseMessage!
Arguments
| Name | Description |
|---|---|
input - CreateCameraRequest
|
Example
Query
mutation CreateCamera($input: CreateCameraRequest) {
createCamera(input: $input) {
message
}
}
Variables
{"input": CreateCameraRequest}
Response
{
"data": {
"createCamera": {
"message": "Response message containing results of API request"
}
}
}
createCameraServer
Description
createCameraServer will attempt to create a new ANPR Camera Server in the Cloud DB for an Organisation.
Response
Returns a ResponseMessage!
Arguments
| Name | Description |
|---|---|
input - CreateCameraServerRequest
|
Example
Query
mutation CreateCameraServer($input: CreateCameraServerRequest) {
createCameraServer(input: $input) {
message
}
}
Variables
{"input": CreateCameraServerRequest}
Response
{
"data": {
"createCameraServer": {
"message": "Response message containing results of API request"
}
}
}
createCardReader
Description
createCardReader mutation will attempt to create a new Card Reader in the Cloud DB for an organisation.
Response
Returns a ResponseMessage!
Arguments
| Name | Description |
|---|---|
input - CreateCardReaderRequest
|
Example
Query
mutation CreateCardReader($input: CreateCardReaderRequest) {
createCardReader(input: $input) {
message
}
}
Variables
{"input": CreateCardReaderRequest}
Response
{
"data": {
"createCardReader": {
"message": "Response message containing results of API request"
}
}
}
createNewSite
Description
createNewSite will attempt to create a new site within the Cloud DB for an Organisation.
Response
Returns a ResponseMessage!
Arguments
| Name | Description |
|---|---|
input - CreateSiteRequest
|
Example
Query
mutation CreateNewSite($input: CreateSiteRequest) {
createNewSite(input: $input) {
message
}
}
Variables
{"input": CreateSiteRequest}
Response
{
"data": {
"createNewSite": {
"message": "Response message containing results of API request"
}
}
}
createOnSiteServer
Description
createOnSiteServer will attempt to create a new On-Site Server record within the Cloud DB for an Organisation.
Response
Returns a ResponseMessage!
Arguments
| Name | Description |
|---|---|
input - CreateOnSiteServerRequest
|
Example
Query
mutation CreateOnSiteServer($input: CreateOnSiteServerRequest) {
createOnSiteServer(input: $input) {
message
}
}
Variables
{"input": CreateOnSiteServerRequest}
Response
{
"data": {
"createOnSiteServer": {
"message": "Response message containing results of API request"
}
}
}
createTabletUser
Description
createTabletUser will attempt to create a new Tablet App user in the Cloud DB for an Organisation's Site.
Response
Returns a ResponseMessage!
Arguments
| Name | Description |
|---|---|
input - CreateTabletUserRequest
|
Example
Query
mutation CreateTabletUser($input: CreateTabletUserRequest) {
createTabletUser(input: $input) {
message
}
}
Variables
{"input": CreateTabletUserRequest}
Response
{
"data": {
"createTabletUser": {
"message": "Response message containing results of API request"
}
}
}
createUserAccessRecord
Description
createUserAccessRecord will attempt to create a new UserAccess record within the Cloud DB for an Organisation.
Response
Returns a ResponseMessage!
Arguments
| Name | Description |
|---|---|
input - CreateUserAccessRequest
|
Example
Query
mutation CreateUserAccessRecord($input: CreateUserAccessRequest) {
createUserAccessRecord(input: $input) {
message
}
}
Variables
{"input": CreateUserAccessRequest}
Response
{
"data": {
"createUserAccessRecord": {
"message": "Response message containing results of API request"
}
}
}
createUserPassRecord
Description
createUserPassRecord will attempt to create a new UserPass record within the Cloud DB for an Organisation.
Response
Returns a ResponseMessage!
Arguments
| Name | Description |
|---|---|
input - CreateUserPassRequest
|
Example
Query
mutation CreateUserPassRecord($input: CreateUserPassRequest) {
createUserPassRecord(input: $input) {
message
}
}
Variables
{"input": CreateUserPassRequest}
Response
{
"data": {
"createUserPassRecord": {
"message": "Response message containing results of API request"
}
}
}
expireUserAccessRecord
Description
DEPRECATED expireUserAccessRecord will attempt to update an existing UserAccess record to set an expiry date for the users access permissions. This API Endpoint will now redirect to the new ExpireUserPass API Endpoint. Please migrate integration to the new ExpireUserPass API flow.
Response
Returns a ResponseMessage!
Arguments
| Name | Description |
|---|---|
input - ExpireUserAccessRequest
|
Example
Query
mutation ExpireUserAccessRecord($input: ExpireUserAccessRequest) {
expireUserAccessRecord(input: $input) {
message
}
}
Variables
{"input": ExpireUserAccessRequest}
Response
{
"data": {
"expireUserAccessRecord": {
"message": "Response message containing results of API request"
}
}
}
expireUserPass
Description
expireUserPass will attempt to update an existing UserPass record to set an expiry date.
Response
Returns a ResponseMessage!
Arguments
| Name | Description |
|---|---|
input - ExpireUserPassRequest
|
Example
Query
mutation ExpireUserPass($input: ExpireUserPassRequest) {
expireUserPass(input: $input) {
message
}
}
Variables
{"input": ExpireUserPassRequest}
Response
{
"data": {
"expireUserPass": {
"message": "Response message containing results of API request"
}
}
}
regenerateApiToken
Description
regenerateApiToken will attempt to regenerate an API Token for an Organisation within the Cloud DB.
Response
Returns a RegenerateApiTokenResponse!
Arguments
| Name | Description |
|---|---|
input - RegenerateApiTokenRequest
|
Example
Query
mutation RegenerateApiToken($input: RegenerateApiTokenRequest) {
regenerateApiToken(input: $input) {
apiToken
}
}
Variables
{"input": RegenerateApiTokenRequest}
Response
{
"data": {
"regenerateApiToken": {
"apiToken": "xyz789"
}
}
}
regenerateCameraServerApiAccessToken
Description
regenerateCameraServerApiAccessToken will attempt to regenerate an API Access Token for an Organisation's On-Site ANPR Camera Server.
Response
Returns a ResponseMessage!
Arguments
| Name | Description |
|---|---|
input - RegenerateCameraServerApiAccessTokenRequest
|
Example
Query
mutation RegenerateCameraServerApiAccessToken($input: RegenerateCameraServerApiAccessTokenRequest) {
regenerateCameraServerApiAccessToken(input: $input) {
message
}
}
Variables
{"input": RegenerateCameraServerApiAccessTokenRequest}
Response
{
"data": {
"regenerateCameraServerApiAccessToken": {
"message": "Response message containing results of API request"
}
}
}
regenerateCardReaderAccessToken
Description
regenerateCardReaderAccessToken will attempt to regenerate the access token for a Card Reader.
Response
Returns a ResponseMessage!
Arguments
| Name | Description |
|---|---|
input - RegenerateReaderTokenRequest
|
Example
Query
mutation RegenerateCardReaderAccessToken($input: RegenerateReaderTokenRequest) {
regenerateCardReaderAccessToken(input: $input) {
message
}
}
Variables
{"input": RegenerateReaderTokenRequest}
Response
{
"data": {
"regenerateCardReaderAccessToken": {
"message": "Response message containing results of API request"
}
}
}
regenerateOnSiteServerAccessToken
Description
regenerateOnSiteServerAccessToken will attempt to regenerate the access token for an On-Site Server.
Response
Returns a ResponseMessage!
Arguments
| Name | Description |
|---|---|
input - RegenerateServerTokenRequest
|
Example
Query
mutation RegenerateOnSiteServerAccessToken($input: RegenerateServerTokenRequest) {
regenerateOnSiteServerAccessToken(input: $input) {
message
}
}
Variables
{"input": RegenerateServerTokenRequest}
Response
{
"data": {
"regenerateOnSiteServerAccessToken": {
"message": "Response message containing results of API request"
}
}
}
regenerateServerApiAccessToken
Description
regenerateServerApiAccessToken will attempt to regenerate an API Access Token for an On-Site Server.
Response
Returns a ResponseMessage!
Arguments
| Name | Description |
|---|---|
input - RegenerateServerApiAccessTokenRequest
|
Example
Query
mutation RegenerateServerApiAccessToken($input: RegenerateServerApiAccessTokenRequest) {
regenerateServerApiAccessToken(input: $input) {
message
}
}
Variables
{"input": RegenerateServerApiAccessTokenRequest}
Response
{
"data": {
"regenerateServerApiAccessToken": {
"message": "Response message containing results of API request"
}
}
}
removeCardReader
Description
removeCardReader will attempt to remove an existing Card Reader record from the Cloud DB.
Response
Returns a ResponseMessage!
Arguments
| Name | Description |
|---|---|
input - RemoveCardReaderRequest
|
Example
Query
mutation RemoveCardReader($input: RemoveCardReaderRequest) {
removeCardReader(input: $input) {
message
}
}
Variables
{"input": RemoveCardReaderRequest}
Response
{
"data": {
"removeCardReader": {
"message": "Response message containing results of API request"
}
}
}
removeOnSiteServer
Description
removeOnSiteServer will attempt to remove an existing On-Site Server record within the Cloud DB.
Response
Returns a ResponseMessage!
Arguments
| Name | Description |
|---|---|
input - RemoveOnSiteServerRequest
|
Example
Query
mutation RemoveOnSiteServer($input: RemoveOnSiteServerRequest) {
removeOnSiteServer(input: $input) {
message
}
}
Variables
{"input": RemoveOnSiteServerRequest}
Response
{
"data": {
"removeOnSiteServer": {
"message": "Response message containing results of API request"
}
}
}
removeTabletUser
Description
removeTabletUser will attempt to delete a Tablet User account for an Organisation.
Response
Returns a ResponseMessage!
Arguments
| Name | Description |
|---|---|
input - RemoveTabletUserRequest
|
Example
Query
mutation RemoveTabletUser($input: RemoveTabletUserRequest) {
removeTabletUser(input: $input) {
message
}
}
Variables
{"input": RemoveTabletUserRequest}
Response
{
"data": {
"removeTabletUser": {
"message": "Response message containing results of API request"
}
}
}
removeUserProfilePicture
Description
removeUserProfilePicture will attempt to remove the Profile Picture for a specified Access User record of an Organisation.
Response
Returns a ResponseMessage!
Arguments
| Name | Description |
|---|---|
input - RemoveUserProfilePictureRequest
|
Example
Query
mutation RemoveUserProfilePicture($input: RemoveUserProfilePictureRequest) {
removeUserProfilePicture(input: $input) {
message
}
}
Variables
{"input": RemoveUserProfilePictureRequest}
Response
{
"data": {
"removeUserProfilePicture": {
"message": "Response message containing results of API request"
}
}
}
updateAccessLevel
Description
updateAccessLevel will attempt to update an Existing AccessLevel record in the Cloud DB to set an updated description field for the usage of the Access Level.
Response
Returns a ResponseMessage!
Arguments
| Name | Description |
|---|---|
input - UpdateAccessLevelRequest
|
Example
Query
mutation UpdateAccessLevel($input: UpdateAccessLevelRequest) {
updateAccessLevel(input: $input) {
message
}
}
Variables
{"input": UpdateAccessLevelRequest}
Response
{
"data": {
"updateAccessLevel": {
"message": "Response message containing results of API request"
}
}
}
updateAccessUserDetails
Description
updateAccessUserDetails will attempt to update an existing AccessUser record within the Cloud DB for an Organisation.
Response
Returns a ResponseMessage!
Arguments
| Name | Description |
|---|---|
input - UpdateAccessUserDetailsRequest
|
Example
Query
mutation UpdateAccessUserDetails($input: UpdateAccessUserDetailsRequest) {
updateAccessUserDetails(input: $input) {
message
}
}
Variables
{"input": UpdateAccessUserDetailsRequest}
Response
{
"data": {
"updateAccessUserDetails": {
"message": "Response message containing results of API request"
}
}
}
updateCamera
Description
updateCamera will attempt to update the details of an ANPR Camera for an Organisation.
Response
Returns a ResponseMessage!
Arguments
| Name | Description |
|---|---|
input - UpdateCameraRequest
|
Example
Query
mutation UpdateCamera($input: UpdateCameraRequest) {
updateCamera(input: $input) {
message
}
}
Variables
{"input": UpdateCameraRequest}
Response
{
"data": {
"updateCamera": {
"message": "Response message containing results of API request"
}
}
}
updateCameraServer
Description
updateCameraServer will attempt to update the details of an ANPR Camera Server for an Organisation.
Response
Returns a ResponseMessage!
Arguments
| Name | Description |
|---|---|
input - UpdateCameraServerRequest
|
Example
Query
mutation UpdateCameraServer($input: UpdateCameraServerRequest) {
updateCameraServer(input: $input) {
message
}
}
Variables
{"input": UpdateCameraServerRequest}
Response
{
"data": {
"updateCameraServer": {
"message": "Response message containing results of API request"
}
}
}
updateCardReader
Description
updateCardReader will attempt to update an existing Card Reader record from the Cloud DB.
Response
Returns a ResponseMessage!
Arguments
| Name | Description |
|---|---|
input - UpdateCardReaderRequest
|
Example
Query
mutation UpdateCardReader($input: UpdateCardReaderRequest) {
updateCardReader(input: $input) {
message
}
}
Variables
{"input": UpdateCardReaderRequest}
Response
{
"data": {
"updateCardReader": {
"message": "Response message containing results of API request"
}
}
}
updateExistingSite
Description
updateExistingSite will attempt to update an existing Site record within the Cloud DB for an Organisation.
Response
Returns a ResponseMessage!
Arguments
| Name | Description |
|---|---|
input - UpdateSiteRequest
|
Example
Query
mutation UpdateExistingSite($input: UpdateSiteRequest) {
updateExistingSite(input: $input) {
message
}
}
Variables
{"input": UpdateSiteRequest}
Response
{
"data": {
"updateExistingSite": {
"message": "Response message containing results of API request"
}
}
}
updateOnSiteServer
Description
updateOnSiteServer will attempt to update an existing On-Site Server record within the Cloud DB.
Response
Returns a ResponseMessage!
Arguments
| Name | Description |
|---|---|
input - UpdateOnSiteServerRequest
|
Example
Query
mutation UpdateOnSiteServer($input: UpdateOnSiteServerRequest) {
updateOnSiteServer(input: $input) {
message
}
}
Variables
{"input": UpdateOnSiteServerRequest}
Response
{
"data": {
"updateOnSiteServer": {
"message": "Response message containing results of API request"
}
}
}
updateOrgAccessZones
Description
updateOrgAccessZones will attempt to update an Organisation list of available Access Zones. Please note that this endpoint will add any new items to the existing list of Access Zones for the Organisation, and will not overwrite any existing values. Please provide only new Access Zone values with a request.
Response
Returns a ResponseMessage!
Arguments
| Name | Description |
|---|---|
input - UpdateOrgAccessZonesRequest
|
Example
Query
mutation UpdateOrgAccessZones($input: UpdateOrgAccessZonesRequest) {
updateOrgAccessZones(input: $input) {
message
}
}
Variables
{"input": UpdateOrgAccessZonesRequest}
Response
{
"data": {
"updateOrgAccessZones": {
"message": "Response message containing results of API request"
}
}
}
updateTabletUserDetails
Description
updateTabletUserDetails will attempt to update an existing Tablet App user in the Cloud DB for an Organisation.
Response
Returns a ResponseMessage!
Arguments
| Name | Description |
|---|---|
input - UpdateTabletUserDetailsRequest
|
Example
Query
mutation UpdateTabletUserDetails($input: UpdateTabletUserDetailsRequest) {
updateTabletUserDetails(input: $input) {
message
}
}
Variables
{"input": UpdateTabletUserDetailsRequest}
Response
{
"data": {
"updateTabletUserDetails": {
"message": "Response message containing results of API request"
}
}
}
updateTabletUserPassword
Description
updateTabletUserPassword will attempt to update an existing Tablet App user's password in the Cloud DB for an Organisation.
Response
Returns a ResponseMessage!
Arguments
| Name | Description |
|---|---|
input - UpdateTabletUserPasswordRequest
|
Example
Query
mutation UpdateTabletUserPassword($input: UpdateTabletUserPasswordRequest) {
updateTabletUserPassword(input: $input) {
message
}
}
Variables
{"input": UpdateTabletUserPasswordRequest}
Response
{
"data": {
"updateTabletUserPassword": {
"message": "Response message containing results of API request"
}
}
}
updateUserPassAccessPermissions
Description
updateUserPassAccessPermissions will attempt to update an existing UserPassAccessPermissions within the Cloud DB for an Organisation.
Response
Returns a ResponseMessage!
Arguments
| Name | Description |
|---|---|
input - UpdateUserPassAccessPermissionsRequest
|
Example
Query
mutation UpdateUserPassAccessPermissions($input: UpdateUserPassAccessPermissionsRequest) {
updateUserPassAccessPermissions(input: $input) {
message
}
}
Variables
{"input": UpdateUserPassAccessPermissionsRequest}
Response
{
"data": {
"updateUserPassAccessPermissions": {
"message": "Response message containing results of API request"
}
}
}
updateUserProfilePicture
Description
updateUserProfilePicture will attempt to update the Profile Picture for a specified Access User record of an Organisation.
Response
Returns a ResponseMessage!
Arguments
| Name | Description |
|---|---|
input - UpdateUserProfilePictureRequest
|
Example
Query
mutation UpdateUserProfilePicture($input: UpdateUserProfilePictureRequest) {
updateUserProfilePicture(input: $input) {
message
}
}
Variables
{"input": UpdateUserProfilePictureRequest}
Response
{
"data": {
"updateUserProfilePicture": {
"message": "Response message containing results of API request"
}
}
}
updateUserProfilePictureForTablet
Description
updateUserProfilePictureForTablet will attempt to update the Profile Picture for a specified Access User record of an Organisation from the Tablet app.
Response
Returns a ResponseMessage!
Arguments
| Name | Description |
|---|---|
input - UpdateUserProfilePictureForTabletRequest
|
Example
Query
mutation UpdateUserProfilePictureForTablet($input: UpdateUserProfilePictureForTabletRequest) {
updateUserProfilePictureForTablet(input: $input) {
message
}
}
Variables
{"input": UpdateUserProfilePictureForTabletRequest}
Response
{
"data": {
"updateUserProfilePictureForTablet": {
"message": "Response message containing results of API request"
}
}
}
uploadCarParkSettingsForSite
Description
uploadCarParkSettingsForSite will attempt to upload new Car Park settings for an Organisation's Site.
Response
Returns a ResponseMessage!
Arguments
| Name | Description |
|---|---|
input - UploadCarParkSettingsForSiteRequest
|
Example
Query
mutation UploadCarParkSettingsForSite($input: UploadCarParkSettingsForSiteRequest) {
uploadCarParkSettingsForSite(input: $input) {
message
}
}
Variables
{"input": UploadCarParkSettingsForSiteRequest}
Response
{
"data": {
"uploadCarParkSettingsForSite": {
"message": "Response message containing results of API request"
}
}
}
uploadDarkBrandingLogo
Description
uploadDarkBrandingLogo will attempt to upload a Dark Branding image logo for an Organisation. Please note that this image will be displayed within the navigation drawer menu for the Tablet Application.
Response
Returns a ResponseMessage!
Arguments
| Name | Description |
|---|---|
input - UploadDarkBrandingLogoRequest
|
Example
Query
mutation UploadDarkBrandingLogo($input: UploadDarkBrandingLogoRequest) {
uploadDarkBrandingLogo(input: $input) {
message
}
}
Variables
{"input": UploadDarkBrandingLogoRequest}
Response
{
"data": {
"uploadDarkBrandingLogo": {
"message": "Response message containing results of API request"
}
}
}
uploadOrgPurchaseOrderNumber
Description
uploadOrgPurchaseOrderNumber will attempt to upload a new Purchase Order Number for including within an Organisation's Invoices.
Response
Returns a ResponseMessage!
Arguments
| Name | Description |
|---|---|
input - UploadOrgPurchaseOrderNumberRequest
|
Example
Query
mutation UploadOrgPurchaseOrderNumber($input: UploadOrgPurchaseOrderNumberRequest) {
uploadOrgPurchaseOrderNumber(input: $input) {
message
}
}
Variables
{"input": UploadOrgPurchaseOrderNumberRequest}
Response
{
"data": {
"uploadOrgPurchaseOrderNumber": {
"message": "Response message containing results of API request"
}
}
}
uploadProfilePictureCSV
Description
uploadProfilePictureCSV will attempt to handle a CSV file upload of Profile Picture records for uploading to the Cloud DB. Please note that there is a 32mb limit on CSV files, this will result in a maximum cap of around 213 profile pictures which can be uploaded in a single CSV (presuming all images are based on the max image size of 150kb). If the base64 images are smaller than 150kb, you will be able to upload more than 213 records per CSV.
Response
Returns an UploadPictureCSVResponse!
Arguments
| Name | Description |
|---|---|
input - UploadPictureCSV
|
Example
Query
mutation UploadProfilePictureCSV($input: UploadPictureCSV) {
uploadProfilePictureCSV(input: $input) {
message
batchID
}
}
Variables
{"input": UploadPictureCSV}
Response
{
"data": {
"uploadProfilePictureCSV": {
"message": "Response message containing results of API request",
"batchID": "abc123"
}
}
}
uploadUserAccessCSV
Description
uploadUserAccessCSV will attempt to handle a CSV file upload of User Access records for upserting to the Cloud DB. Please note that this endpoint will update any existing User Access records when a match is found on a provided Serial Number field, else this endpoint will create a new User Access record. Please note that when updating an existing record, all values should be populated as this will overwrite the existing details.
Response
Returns an UploadUserAccessCSVResponse!
Arguments
| Name | Description |
|---|---|
input - UploadUserAccessCSV
|
Example
Query
mutation UploadUserAccessCSV($input: UploadUserAccessCSV) {
uploadUserAccessCSV(input: $input) {
message
batchID
}
}
Variables
{"input": UploadUserAccessCSV}
Response
{
"data": {
"uploadUserAccessCSV": {
"message": "Response message containing results of API request",
"batchID": "abc123"
}
}
}
Types
AccessLevel
Description
AccessLevel will control the structure of an AccessLevel record in the Cloud DB.
Fields
| Field Name | Description |
|---|---|
title - String!
|
The title of the Access Level record. |
description - String!
|
A description to explain the usage of an Access Level within the platform. |
created - Time!
|
Timestamp to record when the Access Level was first created within the platform |
creator - String!
|
Email address of the user account who first created the Access Level record. |
lastModified - Time!
|
Timestamp to record when the Access Level record was last updated within the platform. |
modifier - String!
|
Email address of the user account who last update the Access Level record within the platform. |
displayName - String!
|
Human-readable Display name for the Access Level. |
Example
{
"title": "Some Title",
"description": "Some description",
"created": "2024-03-23T17:21:00Z",
"creator": "example@email.com",
"lastModified": "2024-03-23T17:21:00Z",
"modifier": "example@email.com",
"displayName": "abc123"
}
AccessLog
Description
AccessLog will handle the structure of an Access Log record from the Cloud DB.
Fields
| Field Name | Description |
|---|---|
accessZoneName - String!
|
The name of the Access Zone for which the Access Log is reporting on. |
dwellDuration - Int64!
|
The time elapsed, in milliseconds, between the entry and exit swipes for an end-user at an Access Zone. |
entryTime - Time!
|
Timestamp to record when an end-user has swiped into an Access Zone. |
exitTime - Time!
|
Timestamp to record when an end-user has swiped out of an Access Zone. |
externalReferenceID - String!
|
The External Reference ID for the end-user who has scanned their pass. Please set this value to the unique customer ID in your external systems. |
firstName - String!
|
The First Name of the end-user. Please note that this will be set to an Empty String ('') if the Organisation does not set this value as part of the User Access record. |
lastName - String!
|
The Last Name of the end-user. Please note that this will be set to an Empty String ('') if the Organisation does not set this value as part of the User Access record. |
serialNumber - String!
|
The unique Serial Number of the end-user's pass. |
siteID - String!
|
The ID of the Site where the Access Log was generated. |
uploaded - Boolean!
|
Boolean flag to record whether an Access Log record has been uploaded to the Cloud. This value will be overwritten by the cloud endpoint before inserting Access Log to database. |
uploadedTimestamp - Time!
|
Timestamp to record when an Access Log record was uploaded to the Cloud. This value will be overwritten by the cloud endpoint before inserting Access Log to database. |
Example
{
"accessZoneName": "abc123",
"dwellDuration": Int64,
"entryTime": "2024-03-23T17:21:00Z",
"exitTime": "2024-03-23T17:21:00Z",
"externalReferenceID": "ab12cd34ef56",
"firstName": "abc123",
"lastName": "xyz789",
"serialNumber": "110100000001",
"siteID": "abc123",
"uploaded": false,
"uploadedTimestamp": "2024-03-23T17:21:00Z"
}
AccessUser
Description
AccessUser will handle the structure of an access record for an end-user account.
Fields
| Field Name | Description |
|---|---|
accountID - String
|
Optional Account ID field to record the end-users account details against their AccessUser record for reporting purposes (EG Membership Number, Account Number, etc). This value may be left blank if not required by Organisation. |
created - Time!
|
Created timestamp of when the AccessUser record was first registered within the platform. |
creator - String!
|
The email address of the system user who first created the AccessUser record within the platform. |
dateOfBirth - String
|
Optional field to record the end-users date of birth against their AccessUser record for reporting purposes. This value may be left blank if not required by Organisation. |
externalReferenceID - String!
|
Field to record the end-users External Reference ID against their AccessUser record for reporting purposes. If set, this value will represent the unique Customer ID value as defined by your organisations external system. |
firstName - String!
|
Field to record the end-users first name against their AccessUser record for reporting purposes. |
homeSite - String
|
Optional field to record the end-users home site against their AccessUser record for reporting purposes. This value may be left blank if not required by Organisation. If setting this value, this will be verified against Site ID values configured for the Organisation. |
latestJoinDate - String
|
Optional field to record the end-users Latest Join Date against their AccessUser record for reporting purposes. This value may be left blank if not required by Organisation. |
lastModified - Time
|
Last Modified timestamp of when the AccessUser record was last updated within the platform. |
lastName - String!
|
Field to record the end-users last name against their AccessUser record for reporting purposes. |
lastImageSyncTimestamp - Time
|
Optional field to record when the record last synced the most recent profile picture for the AccessUser record. |
lastPictureNotification - Time
|
Optional field to record when the last profile picture notification was sent for the AccessUser record. |
modifier - String!
|
The email address of the system user who last modified the AccessUser record within the platform. |
packageName - String
|
Optional field to record the end-users package name against their AccessUser record for reporting purposes. This value may be left blank if not required by Organisation. |
packageCategory - String
|
Optional field to record the end-users package category against their AccessUser record for reporting purposes. This value may be left blank if not required by Organisation. |
phoneNumber - String
|
Optional field to record the end-users phone number against their AccessUser record. This value may be left blank if not required by Organisation. |
emailAddress - String
|
Optional field to record the end-users email address against their AccessUser record. This value may be left blank if not required by Organisation. |
postCode - String
|
Optional field to record the end-users post code against their AccessUser record for reporting purposes. This value may be left blank if not required by Organisation. |
hasProfilePicture - Boolean
|
Optional field for recording a if a User Pass record has a Profile Picture. This will be used to display a profile picture against an end-user within the Tablet Application. Please note that there is a 150kb max size limit on profile pictures. |
serialNumberList - [String]
|
The list of unique serial number generated for one or more user-pass(s) which relates to their AccessUser record. |
serialNumberIntList - [Int]
|
The list of unique serial number generated for one or more user-pass(s) which has been converted to an integer. This value is used by systems with variable card number lengths. |
serialNumberDetails - [SerialNumberDetails!]!
|
The list of details of the end-users associated passes. |
Example
{
"accountID": "abc123",
"created": "2024-03-23T17:21:00Z",
"creator": "example@email.com",
"dateOfBirth": "xyz789",
"externalReferenceID": "ab12cd34ef56",
"firstName": "xyz789",
"homeSite": "xyz789",
"latestJoinDate": "xyz789",
"lastModified": "2024-03-23T17:21:00Z",
"lastName": "xyz789",
"lastImageSyncTimestamp": "2024-03-23T17:21:00Z",
"lastPictureNotification": "2024-03-23T17:21:00Z",
"modifier": "example@email.com",
"packageName": "abc123",
"packageCategory": "xyz789",
"phoneNumber": "xyz789",
"emailAddress": "example@email.com",
"postCode": "xyz789",
"hasProfilePicture": true,
"serialNumberList": ["abc123"],
"serialNumberIntList": [42],
"serialNumberDetails": [SerialNumberDetails]
}
BatchPictureRequest
Description
BatchPictureRequest will control the structure of a BatchPictureRequest from the Cloud DB.
Fields
| Field Name | Description |
|---|---|
batchCount - Int!
|
Count of items included in batch request. |
failureResults - String!
|
URL of CSV results file for failed items within batch. |
failureCount - Int!
|
Count of failure items within batch. |
jobIssuer - String!
|
Email address of the user account which issued the batch. |
status - String!
|
Current status of the batch request, EG: 'in-progress' or 'completed' |
successCount - Int!
|
Count of success items within batch. |
successResults - String!
|
URL of CSV results file for success items within batch. |
emailAddresses - [String!]!
|
Email Address list for sending results via email. |
uploadTimestamp - Time
|
Timestamp of when the batch request was uploaded to the system. |
Example
{
"batchCount": 10,
"failureResults": "https://www.somelinktofile.com/",
"failureCount": 1,
"jobIssuer": "example@email.com",
"status": "active",
"successCount": 9,
"successResults": "https://www.somelinktofile.com/",
"emailAddresses": ["xyz789"],
"uploadTimestamp": "2024-03-23T17:21:00Z"
}
BatchRequest
Description
BatchRequest will control the structure of a BatchRequest from the Cloud DB.
Fields
| Field Name | Description |
|---|---|
batchCount - Int!
|
Count of items included in batch request. |
failureResults - String!
|
URL of CSV results file for failed items within batch. |
failureCount - Int!
|
Count of failure items within batch. |
jobIssuer - String!
|
Email address of the user account which issued the batch. |
status - String!
|
Current status of the batch request, EG: 'in-progress' or 'completed' |
successCount - Int!
|
Count of success items within batch. |
successResults - String!
|
URL of CSV results file for success items within batch. |
type - String!
|
Type of batch request, EG: 'BatchUserAccessUpload' |
emailAddresses - [String!]!
|
Email Address list for sending results via email. |
uploadTimestamp - Time
|
Timestamp of when the batch request was uploaded to the system. |
Example
{
"batchCount": 10,
"failureResults": "https://www.somelinktofile.com/",
"failureCount": 1,
"jobIssuer": "example@email.com",
"status": "active",
"successCount": 9,
"successResults": "https://www.somelinktofile.com/",
"type": "Some type",
"emailAddresses": ["abc123"],
"uploadTimestamp": "2024-03-23T17:21:00Z"
}
Boolean
Description
The Boolean scalar type represents true or false.
Example
true
Camera
Description
Camera will control the response structure when searching for an Organisation's ANPR Camera record.
Fields
| Field Name | Description |
|---|---|
created - Time!
|
Timestamp of when the ANPR Camera record was first created within the platform. |
creator - String!
|
The email address of the system user which first created the ANPR Camera within the platform. |
direction - String!
|
The gate direction in which the ANPR Camera is setup on-site. |
serial - String!
|
MAC Address of the On-Site ANPR Camera recorded in DB. |
title - String!
|
The name of the On-Site ANPR Camera recorded in the Cloud DB. |
lastModified - Time!
|
Timestamp of when the ANPR Camera record was last updated within the platform. |
modifier - String!
|
The email address of the system user which last modified the ANPR Camera within the platform. |
siteID - String!
|
The ID of the Site where the On-Site ANPR Camera is located. |
Example
{
"created": "2024-03-23T17:21:00Z",
"creator": "example@email.com",
"direction": "abc123",
"serial": "xyz789",
"title": "Some Title",
"lastModified": "2024-03-23T17:21:00Z",
"modifier": "example@email.com",
"siteID": "xyz789"
}
CameraServer
Description
CameraServer will control the response structure when searching for an Organisation's ANPR Camera Server record.
Fields
| Field Name | Description |
|---|---|
accessToken - String!
|
The JWT Access Token for the On-Site ANPR Camera Server record to communicate with the Cloud. |
apiAccessToken - String!
|
The API Access Token for the On-Site Server ANPR Camera Server to verify API requests against. |
created - Time!
|
Timestamp of when the ANPR Camera Server record was first created within the platform. |
creator - String!
|
The email address of the system user which first created the ANPR Camera Server within the platform. |
ipAddress - String
|
IP Address of the On-Site ANPR Camera Server on the local network. |
lastHealthCheck - Time
|
Timestamp to record when an On-Site ANPR Camera Server last reported a successful health check to the Cloud. |
lastModified - Time!
|
Timestamp of when the ANPR Camera Server record was last updated within the platform. |
lastReportedVersion - String
|
The version number of the application which the ANPR Camera Server is currently running. |
modifier - String!
|
The email address of the system user which last modified the ANPR Camera Server within the platform. |
siteID - String!
|
The ID of the Site where the On-Site ANPR Camera Server is located. |
title - String!
|
The name of the On-Site ANPR Camera Server recorded in the Cloud DB. |
Example
{
"accessToken": "xyz789",
"apiAccessToken": "xyz789",
"created": "2024-03-23T17:21:00Z",
"creator": "example@email.com",
"ipAddress": "abc123",
"lastHealthCheck": "2024-03-23T17:21:00Z",
"lastModified": "2024-03-23T17:21:00Z",
"lastReportedVersion": "xyz789",
"modifier": "example@email.com",
"siteID": "xyz789",
"title": "Some Title"
}
CarParkSettings
Description
CarParkSettings will handle the structure of a Car Park settings record for a specified Site with the platform.
Fields
| Field Name | Description |
|---|---|
created - Time!
|
Created timestamp of when the Car Park settings where first configured within the platform for the specified Site. |
creator - String!
|
The email address of the system user who first configured the Car Park settings for the specified Site. |
lastModified - Time!
|
Last Modified timestamp of when the Car Park settings where last updated for the specified Site. |
modifier - String!
|
The email address of the system user who last modified the Car Park settings within the platform for the specified Site. |
carParkTimeLimit - Int!
|
The number of minutes that a vehicle is allowed to park for free in the car park for the specified site. |
maximumCarParkSpaces - Int!
|
The total number of car parking spaces located with the car park for the specified Site. |
parkingNotificationEmailAddresses - [String!]!
|
Array of email addresses for sending out parking notifications when a vehicle has exceeded the free Car Parking Time Limit. Please note that there is a maximum limit of 10 email addresses that can be configured for this. |
Example
{
"created": "2024-03-23T17:21:00Z",
"creator": "example@email.com",
"lastModified": "2024-03-23T17:21:00Z",
"modifier": "example@email.com",
"carParkTimeLimit": 42,
"maximumCarParkSpaces": 42,
"parkingNotificationEmailAddresses": [
"xyz789"
]
}
CreateAccessLevelRequest
Description
CreateAccessLevelRequest will control the input structure for requesting to create a new AccessLevel record for an Organisation.
Example
{
"title": "Some Title",
"description": "Some description",
"displayName": "xyz789"
}
CreateAccessUserRequest
Description
CreateAccessUserRequest will handle the input structure for creating a new AccessUser record for an organisation.
Fields
| Input Field | Description |
|---|---|
accountID - String
|
Optional Account ID field to record the end-users account details against their AccessUser record for reporting purposes (EG Membership Number, Account Number, etc). This value may be left blank if not required by Organisation. |
dateOfBirth - String
|
Optional field to record the end-users date of birth against their AccessUser record for reporting purposes. This value may be left blank if not required by Organisation. |
externalReferenceID - String!
|
Field to record the end-users External Reference ID against their AccessUser record for reporting purposes. This value will represent the unique Customer ID value as defined by your organisations external system. |
firstName - String
|
Optional field to record the end-users first name against their AccessUser record for reporting purposes. This value may be left blank if not required by Organisation. |
homeSite - String
|
Optional field to record the end-users home site against their AccessUser record for reporting purposes. This value may be left blank if not required by Organisation. If setting this value, this will be verified against Site ID values configured for the Organisation. |
latestJoinDate - String
|
Optional field to record the end-users Latest Join Date against their AccessUser record for reporting purposes. This value may be left blank if not required by Organisation. |
lastName - String
|
Optional field to record the end-users last name against their AccessUser record for reporting purposes. This value may be left blank if not required by Organisation. |
packageName - String
|
Optional field to record the end-users package name against their AccessUser record for reporting purposes. This value may be left blank if not required by Organisation. |
packageCategory - String
|
Optional field to record the end-users package category against their AccessUser record for reporting purposes. This value may be left blank if not required by Organisation. |
phoneNumber - String
|
Optional field to record the end-users phone number against their AccessUser record. This value may be left blank if not required by Organisation. |
emailAddress - String
|
Optional field to record the end-users email address against their AccessUser record. This value may be left blank if not required by Organisation. |
postCode - String
|
Optional field to record the end-users post code against their AccessUser record for reporting purposes. This value may be left blank if not required by Organisation. |
Example
{
"accountID": "xyz789",
"dateOfBirth": "abc123",
"externalReferenceID": "ab12cd34ef56",
"firstName": "xyz789",
"homeSite": "abc123",
"latestJoinDate": "abc123",
"lastName": "abc123",
"packageName": "xyz789",
"packageCategory": "abc123",
"phoneNumber": "xyz789",
"emailAddress": "example@email.com",
"postCode": "abc123"
}
CreateCameraRequest
Description
CreateCameraRequest will handle the input structure for requesting to create new ANPR Camera for an Organisation.
Fields
| Input Field | Description |
|---|---|
title - String!
|
The unique title associated with the Organisation's new ANPR Camera. |
direction - String!
|
The car park barrier direction for which the new ANPR camera will monitor (EG entry / exit). |
serial - String!
|
The unique serial number (same as mac address) of the new ANPR Camera. |
siteID - String!
|
The ID of the Site where the new ANPR Camera will be located. |
Example
{
"title": "Some Title",
"direction": "abc123",
"serial": "xyz789",
"siteID": "xyz789"
}
CreateCameraServerRequest
Description
CreateCameraServerRequest will handle the input structure for requesting to create new ANPR Camera Server for an Organisation.
Fields
| Input Field | Description |
|---|---|
cameraServerName - String!
|
A title for the new ANPR Camera Server record to be created for an Organisation. |
ipAddress - String
|
Optional value to set the IP Address for the On-Site Camera Server record. If this value is not known at creation time, then please omit the value from the request and update once the camera server is setup. |
siteID - String!
|
The ID of the Site where the new ANPR Camera Server will be located. |
Example
{
"cameraServerName": "xyz789",
"ipAddress": "abc123",
"siteID": "abc123"
}
CreateCardReaderRequest
Description
CreateCardReaderRequest will handle the input values for creating a new Card Reader for an Organisation.
Fields
| Input Field | Description |
|---|---|
accessZoneName - String!
|
The name of the Access Zone which the Reader should be associated with at a particular site. |
direction - String!
|
The direction of swipe events associated with the Reader record (EG entry or exit). |
pulseTime - Int!
|
The number of seconds for which the Reader should trigger the relay to stay open for when a successful swipe event occurs. |
readerName - String!
|
The title of the new Reader record to be created for an Organisation. |
siteID - String!
|
The ID of the Site which the new Reader record should be associated with. |
Example
{
"accessZoneName": "xyz789",
"direction": "xyz789",
"pulseTime": 42,
"readerName": "xyz789",
"siteID": "abc123"
}
CreateOnSiteServerRequest
Description
CreateOnSiteServerRequest will handle the input values for creating a new On-Site Server for an Organisation.
Fields
| Input Field | Description |
|---|---|
serverName - String!
|
The title of the new On-Site Server record to be created for an Organisation. |
siteID - String!
|
The ID of the Site which the new Reader record should be associated with. |
serverMode - String!
|
The mode value to control how the On-Site Server will communicate with Card Readers. Available options are nortech_rs232, usb and ethernet for now. |
ipAddress - String
|
Optional value to set the IP Address for the On-Site Server record. Please note that this value will be used to allow the tablet application to communicate with the server on site. If this value is not known at creation time, then please omit the value from the request and update once the server is setup. |
Example
{
"serverName": "xyz789",
"siteID": "abc123",
"serverMode": "xyz789",
"ipAddress": "xyz789"
}
CreateSiteRequest
Description
CreateSiteRequest will handle the input structure for requesting that a new Site is created for an organisation.
Fields
| Input Field | Description |
|---|---|
siteAccessZones - Map!
|
A map of the Access Zones situated within the new site. This will contain the configuration details for each access zone. |
id - String!
|
The ID of the new Site to be created. Please note that once set, this value cannot be updated. |
displayName - String!
|
Display name of the new site to be created. Please note that this value must be unique amongst organisation Sites, and this value can be updated at any time. |
isAccessControlEnabled - Boolean!
|
Flag to record whether a Site record is setup to accept access control events at the Site. When set to true, the Site will be enabled for configuring Access Zones, and will also be enabled in monthly billing. Please note that if this value is set to false, the system will reject configured Access Zones for the site and the site will also not be included in monthly billing. |
isAnprEnabled - Boolean!
|
Flag to record whether a Site record is setup to accept ANPR events at the Site. When set to true, the Site will be enabled for configuring ANPR Settings, and will also be enabled in monthly billing. Please note that if this value is set to false, the site will not be included in monthly billing for ANPR. |
Example
{
"siteAccessZones": {"some_key": "Some Value", "another_key": "Another Value"},
"id": "some-id",
"displayName": "xyz789",
"isAccessControlEnabled": true,
"isAnprEnabled": true
}
CreateTabletUserRequest
Description
CreateTabletUserRequest will handle the input structure for creating a new tablet app user for an Organisation's Site.
Fields
| Input Field | Description |
|---|---|
username - String!
|
The username of the tablet app user. This will be used for logging into the Breezin Tablet Application. |
siteID - String!
|
The ID of the Site which the tablet app user will be associated with. |
emailAddress - String!
|
Email Address to be associated with the Tablet User account. Please note that this email will be used for receiving initial login password for Tablet User, and for any reset password operations on the account. |
Example
{
"username": "xyz789",
"siteID": "abc123",
"emailAddress": "example@email.com"
}
CreateUserAccessRequest
Description
CreateUserAccessRequest will handle the input structure for creating a new User Access record for an organisation.
Fields
| Input Field | Description |
|---|---|
accessZones - Map!
|
A Map of access zones for the UserAccess record to grant / deny the end-user access. Please note that setting 'all' within the Readers / AccessLevels lists will grant the user access record access to all sites / readers. If reader verification is not required (EG Nortech panel use-case) then you may omit this value from the request. AccessLevels may also be omitted from the request if the user should not be granted entry at any site. |
accountID - String!
|
Optional Account ID field to record the end-users account details against their UserAccess record for reporting purposes (EG Membership Number, Account Number, etc). If this value is not required, then please provide this as an empty string. |
activationDate - Time
|
Optional activation date to allow you to specify what point in time should the UserAccess record should be granted access to your facilities. Please omit this value from the request if you do not wish to set an activation time for the User Access record (EG access granted immediately). |
dateOfBirth - String!
|
Optional field to record the end-users Date of Birth against their UserAccess record for reporting purposes. If this value is not required, then please provide this as an empty string. |
expiryDate - Time
|
Optional expiry date to allow you to automatically revoke access from the UserAccess record after a specific point in time. Please omit this value from the request if you do not wish to set an expiry time for the User Access record. |
externalReferenceID - String!
|
Required field to record the end-users External Reference ID against their UserAccess record for reporting purposes. This value should be set to the Unique ID of the user within your external system. |
firstName - String!
|
Optional field to record the end-users first name against their UserAccess record for reporting purposes. If this value is not required, then please provide this as an empty string. |
homeSite - String!
|
Optional field to record the end-users Home Site against their UserAccess record for reporting purposes. If this value is not required, then please provide this as an empty string. If setting this value, this will be verified against Site ID values configured for the Organisation. |
latestJoinDate - String!
|
Optional field to record the end-users Latest Join Date against their UserAccess record for reporting purposes. If this value is not required, then please provide this as an empty string. |
lastName - String!
|
Optional field to record the end-users last name against their UserAccess record for reporting purposes. If this value is not required, then please provide this as an empty string. |
packageName - String!
|
Optional field to record the end-users Package against their UserAccess record for reporting purposes. If this value is not required, then please provide this as an empty string. |
packageCategory - String!
|
Optional field to record the end-users package category against their UserAccess record for reporting purposes. If this value is not required, then please provide this as an empty string. |
passType - String!
|
Field to record the type of pass associated with this User Access record. This value can be set to 'digital', 'plastic', 'band' or 'card'. |
postCode - String!
|
Optional field to record the end-users post code against their UserAccess record for reporting purposes. If this value is not required, then please provide this as an empty string. |
profilePicture - String
|
Optional field for recording a Profile Picture against a User Access record. This will be used to display a profile picture against an end-user within the Tablet Application. Please note that there is a 150kb max size limit on profile pictures. If pictures are not required, then you may omit this value from the request, or set to an empty string (''). |
serialNumber - String!
|
The unique serial number of the end-users pass which should be related to the new UserAccess record. |
allowedSites - [String]
|
Optional whitelist to restrict user access to particular sites. Please note that if these restrictions are not required, then you can omit the value from the request, set to an empty array ([]) or set to all access (['all']). If setting this value, please provide the Site ID value which matches an existing Organisation Site record. |
Example
{
"accessZones": {"some_key": "Some Value", "another_key": "Another Value"},
"accountID": "xyz789",
"activationDate": "2024-03-23T17:21:00Z",
"dateOfBirth": "abc123",
"expiryDate": "2024-03-23T17:21:00Z",
"externalReferenceID": "ab12cd34ef56",
"firstName": "abc123",
"homeSite": "abc123",
"latestJoinDate": "xyz789",
"lastName": "abc123",
"packageName": "abc123",
"packageCategory": "xyz789",
"passType": "xyz789",
"postCode": "xyz789",
"profilePicture": "xyz789",
"serialNumber": "110100000001",
"allowedSites": ["xyz789"]
}
CreateUserPassRequest
Description
CreateUserPassRequest will handle the input structure for creating a new User Pass record for an organisation.
Fields
| Input Field | Description |
|---|---|
accessZones - Map!
|
A Map of access zones for the UserPass record to grant / deny the end-user access. Please note that setting 'all' within the Readers / AccessLevels lists will grant the UserPass record access to all sites / readers. If reader verification is not required (EG Nortech panel use-case) then you may omit this value from the request. AccessLevels may also be omitted from the request if the user should not be granted entry at any site. |
activationDate - Time
|
Optional activation date to allow you to specify what point in time should the UserPass record should be granted access to your facilities. Please omit this value from the request if you do not wish to set an activation time for the User Access record (EG access granted immediately). |
expiryDate - Time
|
Optional expiry date to allow you to automatically revoke access from the UserPass record after a specific point in time. Please omit this value from the request if you do not wish to set an expiry time for the User Access record. |
externalReferenceID - String!
|
Required field to record the end-users External Reference ID against their UserPass record for reporting purposes. This value should be set to the Unique ID of the user within your external system. |
passType - String!
|
Field to record the type of pass associated with this UserPass record. This value can be set to 'digital', 'plastic', 'band' or 'card'. |
serialNumber - String!
|
The unique serial number of the end-users pass which should be related to the new UserPass record. |
allowedSites - [String]
|
Optional whitelist to restrict user access to particular sites. Please note that if these restrictions are not required, then you can omit the value from the request, set to an empty array ([]) or set to all access (['all']). If setting this value, please provide the Site ID value which matches an existing Organisation Site record. |
Example
{
"accessZones": {"some_key": "Some Value", "another_key": "Another Value"},
"activationDate": "2024-03-23T17:21:00Z",
"expiryDate": "2024-03-23T17:21:00Z",
"externalReferenceID": "ab12cd34ef56",
"passType": "xyz789",
"serialNumber": "110100000001",
"allowedSites": ["xyz789"]
}
DetailedReaderError
Description
DetailedReaderError will control the structure of a specific error reported by a Card Reader instance.
Example
{
"timestamp": "2024-03-23T17:21:00Z",
"errorCode": "abc123",
"errorReason": "abc123"
}
ExpireUserAccessRequest
Description
ExpireUserAccessRequest will handle the input structure for requesting an expiry timestamp is applied to an User Access record.
Fields
| Input Field | Description |
|---|---|
expiryDate - Time!
|
The timestamp of when the user access record should be expired. If the record should be expired immediately then please set this value to current time, or a timestamp slightly earlier than current time. |
serialNumber - String!
|
The Serial Number associated with the User Access record to be updated with the provided expiry date. |
Example
{
"expiryDate": "2024-03-23T17:21:00Z",
"serialNumber": "110100000001"
}
ExpireUserPassRequest
Description
ExpireUserPassRequest will handle the input structure for requesting an expiry timestamp is applied to an User Pass record.
Fields
| Input Field | Description |
|---|---|
expiryDate - Time!
|
The timestamp of when the user pass record should be expired. If the record should be expired immediately then please set this value to current time, or a timestamp slightly earlier than current time. |
serialNumber - String!
|
The Serial Number associated with the User Pass record to be updated with the provided expiry date. |
Example
{
"expiryDate": "2024-03-23T17:21:00Z",
"serialNumber": "110100000001"
}
FetchAccessUserBySerialRequest
Description
FetchAccessUserBySerialRequest will handle the input structure for attempting to retrieve a AccessUser record which has a UserPass that matches on a provided serial number.
Fields
| Input Field | Description |
|---|---|
serialNumber - String!
|
The unique serial number of the end-users UserPass which is allocated to a AccessUser record that should be fetched from the Cloud DB. |
Example
{"serialNumber": "110100000001"}
FetchBatchRequestByIdRequest
Description
FetchBatchRequestByIdRequest will control the input structure when requesting to fetch a BatchRequest from the Cloud DB.
Fields
| Input Field | Description |
|---|---|
batchID - String!
|
Unique ID of the BatchRequest to fetch from the Cloud DB. |
Example
{"batchID": "xyz789"}
FetchCarParkSettingsForSiteRequest
Description
FetchCarParkSettingsForSiteRequest will handle the input structure for requesting to fetch the Car Park settings configured for an Organisation's Site.
Fields
| Input Field | Description |
|---|---|
siteID - String!
|
The ID of the Site where the new ANPR Camera Server will be located. |
Example
{"siteID": "abc123"}
FetchPaginatedAccessUsersRequest
Description
FetchPaginatedAccessUsersRequest will handle the input structure for attempting to retrieve a paginated list of AccessUser records for an organisation.
Fields
| Input Field | Description |
|---|---|
startTime - Time!
|
Start Time timestamp for filtering DB records. This value will be compared against the LastModified timestamp of the AccessUser records and the query will return any records updated after this point in time. |
endTime - Time!
|
End Time timestamp for filtering DB records. This value will be compared against the LastModified timestamp of the AccessUser records and the query will return any records updated before this point in time. |
packageName - String
|
Optional Package Name value for filtering DB records. If this is not required, then please set the value to an empty string ('') or to 'all'. |
homeSite - String
|
Optional Home Site value for filtering DB records. If this is not required, then please set the value to an empty string ('') or to 'all'. |
lastDocID - String
|
Last Doc ID value for ordering pagination batches. When requesting the first batch, please omit this value from the request. On subsequent batches, please provide the lastDocID value returned from the previous call. |
lastModifiedTimestamp - Time
|
Last Modified Timestamp value for ordering pagination batches. When requesting the first batch, please omit this value from the request. On subsequent batches, please provide the lastModifiedTimestamp value returned from the previous call. |
batchSize - Int!
|
Batch size value to control the number of records returned in the pagination batch. |
Example
{
"startTime": "2023-03-23T17:21:00Z",
"endTime": "2023-03-23T17:21:00Z",
"packageName": "abc123",
"homeSite": "xyz789",
"lastDocID": "some-doc-id",
"lastModifiedTimestamp": "2024-03-23T17:21:00Z",
"batchSize": 10
}
FetchPaginatedCardReaderErrorsRequest
Description
FetchPaginatedCardReaderErrorsRequest will control the input structure of a request to retrieve a paginated list of Card Reader errors.
Fields
| Input Field | Description |
|---|---|
readerTitle - String!
|
The title of the Card Reader instance to retrieve a paginated list of errors. |
lastDocID - String
|
Last Doc ID value for ordering pagination batches. When requesting the first batch, please omit this value from the request. On subsequent batches, please provide the lastDocID value returned from the previous call. |
lastUploadTimestamp - Time
|
Last Upload Timestamp value for ordering pagination batches. When requesting the first batch, please omit this value from the request. On subsequent batches, please provide the lastUploadTimestamp value returned from the previous call. |
batchSize - Int!
|
Batch size value to control the number of records returned in the pagination batch. |
Example
{
"readerTitle": "abc123",
"lastDocID": "some-doc-id",
"lastUploadTimestamp": "2024-03-23T17:21:00Z",
"batchSize": 10
}
FetchPaginatedCardReaderErrorsResponse
Description
FetchPaginatedCardReaderErrorsResponse will control the structure of the response when a request is received to fetch a paginated list of Card Reader errors.
Fields
| Field Name | Description |
|---|---|
readerErrors - [DetailedReaderError!]!
|
Paginated list of Errors reported by the Card Reader instance. |
lastUploadTimestamp - Time
|
LastUploadTimestamp of the final record in the pagination batch. Please note that this value should be provided when attempting to retrieve the next batch of pagination items. |
lastDocID - String
|
LastDocID for the final record in the pagination batch. Please note that this value should be provided when attempting to retrieve the next batch of pagination items. |
Example
{
"readerErrors": [DetailedReaderError],
"lastUploadTimestamp": "2024-03-23T17:21:00Z",
"lastDocID": "some-doc-id"
}
FetchPaginatedSitesRequest
Description
FetchPaginatedSitesRequest will handle the input structure for requesting a paginated list of Sites for an organisation.
Fields
| Input Field | Description |
|---|---|
startTime - Time!
|
Start time for pagination filtering. This will be compared against the LastModified timestamp of a Site record and will be used to return any sites updates after the specified start time. If you are looking to fetch all records, then set Start Time to a time in the past (EG Jan 2020). |
endTime - Time!
|
End time for pagination filtering. This will be compared against the LastModified timestamp of a Site record and will be used to return any sites updates before the specified end time. If you are looking to fetch all records, then set End Time to current time / some time in the future. |
batchSize - Int!
|
Batch size for controlling the number of items which will be returned in the pagination request. EG 10 |
lastDocID - String
|
The Document ID of the last Site record returned within pagination batch. If requesting the first batch, then please omit this value from request. For subsequent requests, this value should be populated with the response value from the previous call to this endpoint to ensure results are returned in the correct order. |
lastModifiedTimestamp - Time
|
The LastModified timestamp of the last Site record returned within pagination batch. If requesting the first batch, then please omit this value from request. For subsequent requests, this value should be populated with the response value from the previous call to this endpoint to ensure results are returned in the correct order. |
Example
{
"startTime": "2023-03-23T17:21:00Z",
"endTime": "2023-03-23T17:21:00Z",
"batchSize": 10,
"lastDocID": "some-doc-id",
"lastModifiedTimestamp": "2024-03-23T17:21:00Z"
}
FetchPaginatedUserPassRecordsRequest
Description
FetchPaginatedUserPassRecordsRequest will handle the input structure for attempting to retrieve a paginated list of UserPass records for an organisation.
Fields
| Input Field | Description |
|---|---|
startTime - Time!
|
Start Time timestamp for filtering DB records. This value will be compared against the LastModified timestamp of the UserPass records and the query will return any records updated after this point in time. |
endTime - Time!
|
End Time timestamp for filtering DB records. This value will be compared against the LastModified timestamp of the UserPass records and the query will return any records updated before this point in time. |
accessLevel - String!
|
Value to specify the AccessLevel of the User Access records to be synced from the Cloud. Please note that all can be provided when searching for users with all sites access. |
lastDocID - String
|
Last Doc ID value for ordering pagination batches. When requesting the first batch, please omit this value from the request. On subsequent batches, please provide the lastDocID value returned from the previous call. |
lastModifiedTimestamp - Time
|
Last Modified Timestamp value for ordering pagination batches. When requesting the first batch, please omit this value from the request. On subsequent batches, please provide the lastModifiedTimestamp value returned from the previous call. |
batchSize - Int!
|
Batch size value to control the number of records returned in the pagination batch. |
Example
{
"startTime": "2023-03-23T17:21:00Z",
"endTime": "2023-03-23T17:21:00Z",
"accessLevel": "abc123",
"lastDocID": "some-doc-id",
"lastModifiedTimestamp": "2024-03-23T17:21:00Z",
"batchSize": 10
}
FetchPictureBatchRequestByIdRequest
Description
FetchPictureBatchRequestByIdRequest will control the input structure when requesting to fetch a BatchRequest from the Cloud DB.
Fields
| Input Field | Description |
|---|---|
batchID - String!
|
Unique ID of the BatchPictureRequest to fetch from the Cloud DB. |
Example
{"batchID": "abc123"}
FetchReadersByAccessZoneRequest
Description
FetchReadersByAccessZoneRequest will handle the request structure when a tablet requests a readers list assigned for a specific Access Zone.
Fields
| Input Field | Description |
|---|---|
accessZones - [String!]!
|
List of the Access Zones assigned for a User Access Record. |
Example
{"accessZones": ["xyz789"]}
FetchReadersByAccessZoneResponse
Description
FetchReadersByAccessZoneResponse handles the response structure when the tablet app is requesting a list of Readers assigned to a given Access Zone.
Fields
| Field Name | Description |
|---|---|
cardReaderRecords - [Reader!]!
|
Array of Readers which are assigned to a given User Access Record. |
Example
{"cardReaderRecords": [Reader]}
FetchUserAccessBySerialRequest
Description
FetchUserAccessBySerialRequest will handle the input structure for attempting to retrieve a User Access record which matches on a provided serial number.
Fields
| Input Field | Description |
|---|---|
serialNumber - String!
|
The unique serial number of the end-users pass which should be fetched from the Cloud DB. |
Example
{"serialNumber": "110100000001"}
FetchUserPassRecordBySerialRequest
Description
FetchUserPassRecordBySerialRequest will handle the input structure for attempting to retrieve a UserPass record which matches on a provided serial number.
Fields
| Input Field | Description |
|---|---|
serialNumber - String!
|
The unique serial number of the end-users UserPass which is allocated to a AccessUser record that should be fetched from the Cloud DB. |
Example
{"serialNumber": "110100000001"}
GenerateAccessLogReportForAllSitesRequest
Description
GenerateAccessLogReportForAllSitesRequest will handle the input structure for attempting to generate Access Log reporting for all Sites.
Fields
| Input Field | Description |
|---|---|
reportType - String!
|
The type of the report to generate. Available options are: SiteDateRange, SiteDateRangeForSerialNumber, SiteDateRangeForExternalRefID, and SiteDateRangeForAccessZone. |
startTime - Time!
|
Start Time timestamp for filtering DB records for report. This value will be compared against the UploadTimestamp of the Swipe Log records and the query will return any records uploaded after this point in time. Please note that there is a maximum of limit of 3 days between start and end time values for reporting. |
endTime - Time!
|
End Time timestamp for filtering DB records for report. This value will be compared against the UploadTimestamp of the Swipe Log records and the query will return any records uploaded before this point in time. Please note that there is a maximum of limit of 3 days between start and end time values for reporting. |
emailAddresses - [String]
|
List of email addresses to receive results of the report generation upon completion. Please note that there is a maximum limit of 10 email addresses to receive results per request. Please omit this value from request (or set this to empty array) when emails are not required. |
serialNumber - String
|
Optional value to filter report data to a specific Serial Number for an end-users pass. Please note that this value only applies to the SiteDateRangeForSerialNumber reportType option. |
externalReferenceID - String
|
Optional value to filter report data to a specific External Reference ID for an end-users pass. Please note that this value only applies to the SiteDateRangeForExternalRefID reportType option. |
accessZone - String
|
Optional value to filter report data to a specific Access Zone. Please note that this value only applies to the SiteDateRangeForAccessZone reportType option. |
Example
{
"reportType": "abc123",
"startTime": "2023-03-23T17:21:00Z",
"endTime": "2023-03-23T17:21:00Z",
"emailAddresses": ["xyz789"],
"serialNumber": "110100000001",
"externalReferenceID": "ab12cd34ef56",
"accessZone": "xyz789"
}
GenerateSiteAccessLogReportRequest
Description
GenerateSiteAccessLogReportRequest will handle the input structure for attempting to generate Access Log reporting for a specified Site.
Fields
| Input Field | Description |
|---|---|
siteID - String!
|
The ID of the Site for report generation. |
reportType - String!
|
The type of the report to generate. Available options are: SiteDateRange, SiteDateRangeForSerialNumber, SiteDateRangeForExternalRefID, and SiteDateRangeForAccessZone. |
startTime - Time!
|
Start Time timestamp for filtering DB records for report. This value will be compared against the UploadTimestamp of the Swipe Log records and the query will return any records uploaded after this point in time. Please note that there is a maximum of limit of 3 months between start and end time values for reporting. |
endTime - Time!
|
End Time timestamp for filtering DB records for report. This value will be compared against the UploadTimestamp of the Swipe Log records and the query will return any records uploaded before this point in time. Please note that there is a maximum of limit of 3 months between start and end time values for reporting. |
emailAddresses - [String]
|
List of email addresses to receive results of the report generation upon completion. Please note that there is a maximum limit of 10 email addresses to receive results per request. Please omit this value from request (or set this to empty array) when emails are not required. |
serialNumber - String
|
Optional value to filter report data to a specific Serial Number for an end-users pass. Please note that this value only applies to the SiteDateRangeForSerialNumber reportType option. |
externalReferenceID - String
|
Optional value to filter report data to a specific External Reference ID for an end-users pass. Please note that this value only applies to the SiteDateRangeForExternalRefID reportType option. |
accessZone - String
|
Optional value to filter report data to a specific Access Zone. Please note that this value only applies to the SiteDateRangeForAccessZone reportType option. |
Example
{
"siteID": "xyz789",
"reportType": "abc123",
"startTime": "2023-03-23T17:21:00Z",
"endTime": "2023-03-23T17:21:00Z",
"emailAddresses": ["abc123"],
"serialNumber": "110100000001",
"externalReferenceID": "ab12cd34ef56",
"accessZone": "xyz789"
}
GenerateSiteSwipeLogReportRequest
Description
GenerateSiteSwipeLogReportRequest will handle the input structure for attempting to generate Swipe Log reporting for a specified Site.
Fields
| Input Field | Description |
|---|---|
siteID - String!
|
The ID of the Site for report generation. |
reportType - String!
|
The type of the report to generate. Available options are: SiteDateRange, SiteDateRangeForSerialNumber, SiteDateRangeForExternalRefID, SiteDateRangeForManualOpen, SiteDateRangeForReaderID, SiteDateRangeForAccessZone, SiteDateRangeForReaderDirection and SiteDateRangeForReentryWarning. |
startTime - Time!
|
Start Time timestamp for filtering DB records for report. This value will be compared against the UploadTimestamp of the Swipe Log records and the query will return any records uploaded after this point in time. Please note that there is a maximum of limit of 3 months between start and end time values for reporting. |
endTime - Time!
|
End Time timestamp for filtering DB records for report. This value will be compared against the UploadTimestamp of the Swipe Log records and the query will return any records uploaded before this point in time. Please note that there is a maximum of limit of 3 months between start and end time values for reporting. |
emailAddresses - [String]
|
List of email addresses to receive results of the report generation upon completion. Please note that there is a maximum limit of 10 email addresses to receive results per request. Please omit this value from request (or set this to empty array) when emails are not required. |
accessType - String!
|
Optional filter for filtering reports to only granted or denied swipe events. If this filter is not required, then please provide this value as an empty string (EG '') or set the value to 'all'. |
serialNumber - String
|
Optional value to filter report data to a specific Serial Number for an end-users pass. Please note that this value only applies to the SiteDateRangeForSerialNumber reportType option. |
externalReferenceID - String
|
Optional value to filter report data to a specific External Reference ID for an end-users pass. Please note that this value only applies to the SiteDateRangeForExternalRefID reportType option. |
manualOpen - Boolean
|
Optional value to filter report data to a specific Manual Open value (EG true / false). Please note that this value only applies to the SiteDateRangeForManualOpen reportType option. |
readerID - String
|
Optional value to filter report data to a specific Reader ID. Please note that this value only applies to the SiteDateRangeForReaderID reportType option. |
accessZone - String
|
Optional value to filter report data to a specific Access Zone. Please note that this value only applies to the SiteDateRangeForAccessZone reportType option. |
readerDirection - String
|
Optional value to filter report data to a specific Reader Direction (EG 'entry' or 'exit'). Please note that this value only applies to the SiteDateRangeForReaderDirection reportType option. |
reentryWarning - Boolean
|
Optional value to filter report data to a specific Re-Entry Warning value (EG true / false). Please note that this value only applies to the SiteDateRangeForReentryWarning reportType option. |
Example
{
"siteID": "xyz789",
"reportType": "abc123",
"startTime": "2023-03-23T17:21:00Z",
"endTime": "2023-03-23T17:21:00Z",
"emailAddresses": ["abc123"],
"accessType": "xyz789",
"serialNumber": "110100000001",
"externalReferenceID": "ab12cd34ef56",
"manualOpen": true,
"readerID": "xyz789",
"accessZone": "abc123",
"readerDirection": "abc123",
"reentryWarning": false
}
GenerateSiteVehicleAccessLogReportRequest
Description
GenerateSiteVehicleAccessLogReportRequest will handle the input structure for attempting to generate a Vehicle Access Log report for a specified Site.
Fields
| Input Field | Description |
|---|---|
siteID - String!
|
The ID of the Site for report generation. |
startTime - Time!
|
Start Time timestamp for filtering DB records for report. This value will be compared against the UploadTimestamp of the Vehicle Swipe Log records and the query will return any records uploaded after this point in time. Please note that there is a maximum of limit of 3 months between start and end time values for reporting. |
endTime - Time!
|
End Time timestamp for filtering DB records for report. This value will be compared against the UploadTimestamp of the Vehicle Swipe Log records and the query will return any records uploaded before this point in time. Please note that there is a maximum of limit of 3 months between start and end time values for reporting. |
emailAddresses - [String]
|
List of email addresses to receive results of the report generation upon completion. Please note that there is a maximum limit of 10 email addresses to receive results per request. Please omit this value from request (or set this to empty array) when emails are not required. |
registrationNumber - String
|
Optional value to filter reports to a specific vehicle registration number. If this filter option is not required, then please omit this value from any requests. |
Example
{
"siteID": "xyz789",
"startTime": "2023-03-23T17:21:00Z",
"endTime": "2023-03-23T17:21:00Z",
"emailAddresses": ["abc123"],
"registrationNumber": "xyz789"
}
GenerateSiteVehicleSwipeLogReportRequest
Description
GenerateSiteVehicleSwipeLogReportRequest will handle the input structure for attempting to generate a Vehicle Swipe Log report for a specified Site.
Fields
| Input Field | Description |
|---|---|
siteID - String!
|
The ID of the Site for report generation. |
startTime - Time!
|
Start Time timestamp for filtering DB records for report. This value will be compared against the UploadTimestamp of the Vehicle Swipe Log records and the query will return any records uploaded after this point in time. Please note that there is a maximum of limit of 3 months between start and end time values for reporting. |
endTime - Time!
|
End Time timestamp for filtering DB records for report. This value will be compared against the UploadTimestamp of the Vehicle Swipe Log records and the query will return any records uploaded before this point in time. Please note that there is a maximum of limit of 3 months between start and end time values for reporting. |
emailAddresses - [String]
|
List of email addresses to receive results of the report generation upon completion. Please note that there is a maximum limit of 10 email addresses to receive results per request. Please omit this value from request (or set this to empty array) when emails are not required. |
accessLogGenerated - Boolean
|
Optional value to filter reports to record which have been matched / unmatched for entry and exit pairs. NOTE: please set this value to false when looking for records which could not be matched. If this filter option is not required, then please omit this value from any requests. |
gateDirection - String
|
Optional value to filter reports to a specific gate direction ('entry' or 'exit'). If this filter option is not required, then please omit this value from any requests. |
registrationNumber - String
|
Optional value to filter reports to a specific vehicle registration number. If this filter option is not required, then please omit this value from any requests. |
Example
{
"siteID": "abc123",
"startTime": "2023-03-23T17:21:00Z",
"endTime": "2023-03-23T17:21:00Z",
"emailAddresses": ["xyz789"],
"accessLogGenerated": false,
"gateDirection": "abc123",
"registrationNumber": "abc123"
}
GenerateSwipeLogReportForAllSitesRequest
Description
GenerateSwipeLogReportForAllSitesRequest will handle the input structure for attempting to generate Swipe Log reporting for all Sites.
Fields
| Input Field | Description |
|---|---|
reportType - String!
|
The type of the report to generate. Available options are: SiteDateRange, SiteDateRangeForSerialNumber, SiteDateRangeForExternalRefID, SiteDateRangeForManualOpen, SiteDateRangeForReaderID, SiteDateRangeForAccessZone, SiteDateRangeForReaderDirection and SiteDateRangeForReentryWarning. |
startTime - Time!
|
Start Time timestamp for filtering DB records for report. This value will be compared against the UploadTimestamp of the Swipe Log records and the query will return any records uploaded after this point in time. Please note that there is a maximum of limit of 3 days between start and end time values for reporting. |
endTime - Time!
|
End Time timestamp for filtering DB records for report. This value will be compared against the UploadTimestamp of the Swipe Log records and the query will return any records uploaded before this point in time. Please note that there is a maximum of limit of 3 days between start and end time values for reporting. |
emailAddresses - [String]
|
List of email addresses to receive results of the report generation upon completion. Please note that there is a maximum limit of 10 email addresses to receive results per request. Please omit this value from request (or set this to empty array) when emails are not required. |
accessType - String!
|
Optional filter for filtering reports to only granted or denied swipe events. If this filter is not required, then please provide this value as an empty string (EG '') or set the value to 'all'. |
serialNumber - String
|
Optional value to filter report data to a specific Serial Number for an end-users pass. Please note that this value only applies to the SiteDateRangeForSerialNumber reportType option. |
externalReferenceID - String
|
Optional value to filter report data to a specific External Reference ID for an end-users pass. Please note that this value only applies to the SiteDateRangeForExternalRefID reportType option. |
manualOpen - Boolean
|
Optional value to filter report data to a specific Manual Open value (EG true / false). Please note that this value only applies to the SiteDateRangeForManualOpen reportType option. |
readerID - String
|
Optional value to filter report data to a specific Reader ID. Please note that this value only applies to the SiteDateRangeForReaderID reportType option. |
accessZone - String
|
Optional value to filter report data to a specific Access Zone. Please note that this value only applies to the SiteDateRangeForAccessZone reportType option. |
readerDirection - String
|
Optional value to filter report data to a specific Reader Direction (EG 'entry' or 'exit'). Please note that this value only applies to the SiteDateRangeForReaderDirection reportType option. |
reentryWarning - Boolean
|
Optional value to filter report data to a specific Re-Entry Warning value (EG true / false). Please note that this value only applies to the SiteDateRangeForReentryWarning reportType option. |
Example
{
"reportType": "xyz789",
"startTime": "2023-03-23T17:21:00Z",
"endTime": "2023-03-23T17:21:00Z",
"emailAddresses": ["xyz789"],
"accessType": "xyz789",
"serialNumber": "110100000001",
"externalReferenceID": "ab12cd34ef56",
"manualOpen": true,
"readerID": "xyz789",
"accessZone": "abc123",
"readerDirection": "xyz789",
"reentryWarning": false
}
GenerateUserAccessLogReportRequest
Description
GenerateUserAccessLogReportRequest will handle the input structure for attempting to generate Access Log reporting for a specified User.
Fields
| Input Field | Description |
|---|---|
serialNumber - String!
|
The Serial Number of the end-users pass for report generation. |
reportType - String!
|
The type of the report to generate. Available options are: UserDateRange, UserDateRangeForSite and UserDateRangeForAccessZone. |
startTime - Time!
|
Start Time timestamp for filtering DB records for report. This value will be compared against the UploadTimestamp of the Swipe Log records and the query will return any records uploaded after this point in time. Please note that there is a maximum of limit of 3 months between start and end time values for reporting. |
endTime - Time!
|
End Time timestamp for filtering DB records for report. This value will be compared against the UploadTimestamp of the Swipe Log records and the query will return any records uploaded before this point in time. Please note that there is a maximum of limit of 3 months between start and end time values for reporting. |
emailAddresses - [String]
|
List of email addresses to receive results of the report generation upon completion. Please note that there is a maximum limit of 10 email addresses to receive results per request. Please omit this value from request (or set this to empty array) when emails are not required. |
siteID - String
|
Optional value to filter report data to a specific Site value. Please note that this value only applies to the UserDateRangeForSite reportType option. |
accessZone - String
|
Optional value to filter report data to a specific Access Zone. Please note that this value only applies to the UserDateRangeForAccessZone reportType option. |
Example
{
"serialNumber": "110100000001",
"reportType": "abc123",
"startTime": "2023-03-23T17:21:00Z",
"endTime": "2023-03-23T17:21:00Z",
"emailAddresses": ["abc123"],
"siteID": "xyz789",
"accessZone": "xyz789"
}
GenerateUserSwipeLogReportRequest
Description
GenerateUserSwipeLogReportRequest will handle the input structure for attempting to generate Swipe Log reporting for a specified User.
Fields
| Input Field | Description |
|---|---|
serialNumber - String!
|
The Serial Number of the end-users pass for report generation. |
reportType - String!
|
The type of the report to generate. Available options are: UserDateRange, UserDateRangeForSite, UserDateRangeForManualOpen, UserDateRangeForReaderID, UserDateRangeForAccessZone, UserDateRangeForReaderDirectionandUserDateRangeForReentryWarning`. |
startTime - Time!
|
Start Time timestamp for filtering DB records for report. This value will be compared against the UploadTimestamp of the Swipe Log records and the query will return any records uploaded after this point in time. Please note that there is a maximum of limit of 3 months between start and end time values for reporting. |
endTime - Time!
|
End Time timestamp for filtering DB records for report. This value will be compared against the UploadTimestamp of the Swipe Log records and the query will return any records uploaded before this point in time. Please note that there is a maximum of limit of 3 months between start and end time values for reporting. |
emailAddresses - [String]
|
List of email addresses to receive results of the report generation upon completion. Please note that there is a maximum limit of 10 email addresses to receive results per request. Please omit this value from request (or set this to empty array) when emails are not required. |
accessType - String!
|
Optional filter for filtering reports to only granted or denied swipe events. If this filter is not required, then please provide this value as an empty string (EG '') or set the value to 'all'. |
siteID - String
|
Optional value to filter report data to a specific Site value. Please note that this value only applies to the UserDateRangeForSite reportType option. |
manualOpen - Boolean
|
Optional value to filter report data to a specific Manual Open value (EG true / false). Please note that this value only applies to the UserDateRangeForManualOpen reportType option. |
readerID - String
|
Optional value to filter report data to a specific Reader ID. Please note that this value only applies to the UserDateRangeForReaderID reportType option. |
accessZone - String
|
Optional value to filter report data to a specific Access Zone. Please note that this value only applies to the UserDateRangeForAccessZone reportType option. |
readerDirection - String
|
Optional value to filter report data to a specific Reader Direction (EG 'entry' or 'exit'). Please note that this value only applies to the UserDateRangeForReaderDirection reportType option. |
reentryWarning - Boolean
|
Optional value to filter report data to a specific Re-Entry Warning value (EG true / false). Please note that this value only applies to the UserDateRangeForReentryWarning reportType option. |
Example
{
"serialNumber": "110100000001",
"reportType": "abc123",
"startTime": "2023-03-23T17:21:00Z",
"endTime": "2023-03-23T17:21:00Z",
"emailAddresses": ["abc123"],
"accessType": "xyz789",
"siteID": "abc123",
"manualOpen": false,
"readerID": "xyz789",
"accessZone": "abc123",
"readerDirection": "abc123",
"reentryWarning": false
}
GenerateVehicleAccessLogReportForAllSitesRequest
Description
GenerateVehicleAccessLogReportForAllSitesRequest will handle the input structure for attempting to generate a Vehicle Access Log report for all Sites.
Fields
| Input Field | Description |
|---|---|
startTime - Time!
|
Start Time timestamp for filtering DB records for report. This value will be compared against the UploadTimestamp of the Vehicle Swipe Log records and the query will return any records uploaded after this point in time. Please note that there is a maximum of limit of 3 days between start and end time values for reporting. |
endTime - Time!
|
End Time timestamp for filtering DB records for report. This value will be compared against the UploadTimestamp of the Vehicle Swipe Log records and the query will return any records uploaded before this point in time. Please note that there is a maximum of limit of 3 days between start and end time values for reporting. |
emailAddresses - [String]
|
List of email addresses to receive results of the report generation upon completion. Please note that there is a maximum limit of 10 email addresses to receive results per request. Please omit this value from request (or set this to empty array) when emails are not required. |
registrationNumber - String
|
Optional value to filter reports to a specific vehicle registration number. If this filter option is not required, then please omit this value from any requests. |
Example
{
"startTime": "2023-03-23T17:21:00Z",
"endTime": "2023-03-23T17:21:00Z",
"emailAddresses": ["abc123"],
"registrationNumber": "xyz789"
}
GenerateVehicleSwipeLogReportForAllSitesRequest
Description
GenerateVehicleSwipeLogReportForAllSitesRequest will handle the input structure for attempting to generate a Vehicle Swipe Log report for all Sites.
Fields
| Input Field | Description |
|---|---|
startTime - Time!
|
Start Time timestamp for filtering DB records for report. This value will be compared against the UploadTimestamp of the Vehicle Swipe Log records and the query will return any records uploaded after this point in time. Please note that there is a maximum of limit of 3 days between start and end time values for reporting. |
endTime - Time!
|
End Time timestamp for filtering DB records for report. This value will be compared against the UploadTimestamp of the Vehicle Swipe Log records and the query will return any records uploaded before this point in time. Please note that there is a maximum of limit of 3 days between start and end time values for reporting. |
emailAddresses - [String]
|
List of email addresses to receive results of the report generation upon completion. Please note that there is a maximum limit of 10 email addresses to receive results per request. Please omit this value from request (or set this to empty array) when emails are not required. |
accessLogGenerated - Boolean
|
Optional value to filter reports to record which have been matched / unmatched for entry and exit pairs. NOTE: please set this value to false when looking for records which could not be matched. If this filter option is not required, then please omit this value from any requests. |
gateDirection - String
|
Optional value to filter reports to a specific gate direction ('entry' or 'exit'). If this filter option is not required, then please omit this value from any requests. |
registrationNumber - String
|
Optional value to filter reports to a specific vehicle registration number. If this filter option is not required, then please omit this value from any requests. |
Example
{
"startTime": "2023-03-23T17:21:00Z",
"endTime": "2023-03-23T17:21:00Z",
"emailAddresses": ["abc123"],
"accessLogGenerated": true,
"gateDirection": "xyz789",
"registrationNumber": "xyz789"
}
GetAccessLevelByTitleRequest
Description
GetAccessLevelByTitleRequest will control the input structure for requesting to fetch an Access Level record by Title from the Cloud DB.
Fields
| Input Field | Description |
|---|---|
title - String!
|
Title value for searching the Cloud DB for any Access Levels created with the specified title. |
Example
{"title": "Some Title"}
GetAccessUserByExternalRefIdRequest
Description
GetAccessUserByExternalRefIdRequest handles the input structure when requesting AccessUser record which match on a provided ExternalReferenceID value.
Fields
| Input Field | Description |
|---|---|
externalReferenceID - String!
|
Search value for matching AccessUser record which are assigned a specific External Reference ID value. |
Example
{"externalReferenceID": "ab12cd34ef56"}
GetCameraBySerialRequest
Description
GetCameraBySerialRequest will handle the input structure for retrieving an Organisation's ANPR Camera details which match on the provided serial number.
Fields
| Input Field | Description |
|---|---|
serial - String!
|
The unique serial number (mac address) of the ANPR Camera to be retrieved from the Cloud DB. |
Example
{"serial": "abc123"}
GetCameraServerByTitleRequest
Description
FetchCameraServerByTitleRequest will handle the input structure for retrieving an Organisation's ANPR Camera Server details which matches on a provided title.
Fields
| Input Field | Description |
|---|---|
title - String!
|
The name of the On-Site ANPR Camera Server to search for within the Cloud DB. |
Example
{"title": "Some Title"}
GetCamerasForSiteRequest
Description
GetCamerasForSiteRequest will handle the input structure for retrieving an Organisation's ANPR Cameras which are associated with a provided SiteID.
Fields
| Input Field | Description |
|---|---|
siteID - String!
|
The ID of the Site to search and retrieve associated ANPR Camera records. |
Example
{"siteID": "xyz789"}
GetCamerasForSiteResponse
Description
GetCamerasForSiteResponse will handle the response structure when requesting to retrieve a list of ANPR Camera associated with a Site.
Fields
| Field Name | Description |
|---|---|
cameraRecords - [Camera!]!
|
The ANPR Camera records associated with the provided SiteID. |
Example
{"cameraRecords": [Camera]}
GetPaginatedPaymentsRequest
Description
GetPaginatedPaymentsRequest will handle input values for retrieving a paginated list of Payments for an Organisation's account.
Fields
| Input Field | Description |
|---|---|
batchSize - Int!
|
batchSize controls the number of items which will be returned in the pagination request. EG 10 |
lastPaymentDate - Time
|
lastPaymentDate is the timestamp related to the final item of the previous pagination batch. For the first batch of pagination, please skip providing this value. For following requests, use the value returned from the previous pagination request. |
lastDocID - String
|
lastDocID is the unique ID related to the final item of the previous pagination batch. For the first batch of pagination, please skip providing this value. For following requests, use the value returned from the previous pagination request. |
Example
{
"batchSize": 10,
"lastPaymentDate": "2024-03-23T17:21:00Z",
"lastDocID": "some-doc-id"
}
GetPaginatedReportingRequestsRequest
Description
GetPaginatedReportingRequestsRequest will handle the input structure to get paginated Reporting Requests.
Fields
| Input Field | Description |
|---|---|
reportType - String
|
The type of the Reporting Request. You can omit this value, set to to empty string, or set to all if filter is not required. Supported reporting values: AllSitesSwipeLogsReport, SiteSwipeLogsReport, AllSitesAccessLogsReport, SiteAccessLogsReport, UserSwipeLogsReport, UserAccessLogsReport, AllSitesVehicleSwipeLogsReport, VehicleSwipeLogsReport, AllSitesVehicleAccessLogsReport or VehicleAccessLogsReport. |
lastDocID - String
|
lastDocID is the unique ID related to the final item of the previous pagination batch. For the first batch of pagination, please skip providing this value. For following requests, use the value returned from the previous pagination request. |
lastModifiedTimestamp - Time
|
Last Modified Timestamp value for ordering pagination batches. Please provide this value in requests for subsequent batches to ensure ordering of pagination results is correct. |
batchSize - Int!
|
Batch size for controlling the number of items which will be returned in the pagination request. EG 10 |
startTime - Time!
|
Start Time timestamp for filtering DB records for report. This value will be compared against the UploadTimestamp of the Vehicle Swipe Log records and the query will return any records uploaded after this point in time. Please note that there is a maximum of limit of 3 months between start and end time values for reporting. |
endTime - Time!
|
End Time timestamp for filtering DB records for report. This value will be compared against the UploadTimestamp of the Vehicle Swipe Log records and the query will return any records uploaded before this point in time. Please note that there is a maximum of limit of 3 months between start and end time values for reporting. |
Example
{
"reportType": "xyz789",
"lastDocID": "some-doc-id",
"lastModifiedTimestamp": "2024-03-23T17:21:00Z",
"batchSize": 10,
"startTime": "2023-03-23T17:21:00Z",
"endTime": "2023-03-23T17:21:00Z"
}
GetProfilePicForExternalRefIdRequest
Description
GetProfilePicForExternalRefIdRequest will handle the input structure for fetching a profile picture for a specific External Reference ID.
Fields
| Input Field | Description |
|---|---|
externalReferenceID - String!
|
The External Reference ID of the Access User record for retrieving the member's Profile Picture. |
Example
{"externalReferenceID": "ab12cd34ef56"}
GetProfilePicForSerialRequest
Description
GetProfilePicForSerialRequest will handle the input structure for fetching a profile picture for a specific Serial Number.
Fields
| Input Field | Description |
|---|---|
serialNumber - String!
|
The Serial Number of the pass for the Access User record for retrieving the member's Profile Picture. |
Example
{"serialNumber": "110100000001"}
GetReaderByTitleRequest
Description
GetReaderByTitleRequest will handle the input structure for fetching a specific Card Reader for an organisation.
Fields
| Input Field | Description |
|---|---|
readerTitle - String!
|
The title of the Card Reader to fetch from the Cloud DB. |
Example
{"readerTitle": "abc123"}
GetReportingRequestByReportIDRequest
Description
GetReportingRequestByReportIDRequest will handle the input structure to get the Reporting Request by specified Report ID.
Fields
| Input Field | Description |
|---|---|
reportID - String!
|
The unique ID of the Reporting Request. |
Example
{"reportID": "abc123"}
GetServerByTitleRequest
Description
GetServerByTitleRequest will handle the input values for fetching an On-Site Server from the Cloud DB by title.
Fields
| Input Field | Description |
|---|---|
serverName - String!
|
The title of the On-Site Server record to retrieve from the Cloud DB. |
Example
{"serverName": "xyz789"}
GetSiteByIdRequest
Description
GetSiteByIdRequest will handle the input values for fetching a Site's details.
Fields
| Input Field | Description |
|---|---|
siteID - String!
|
The ID of the site to retrieve details. |
Example
{"siteID": "xyz789"}
GetTabletUserByUsernameRequest
Description
GetTabletUserByUsernameRequest will handle the input structure for fetching a tablet user from the Cloud DB by Username.
Fields
| Input Field | Description |
|---|---|
username - String!
|
Username provided to search for a Tablet User's account. |
Example
{"username": "xyz789"}
GetUserAccessByExternalRefIdRequest
Description
GetUserAccessByExternalRefIdRequest handles the input structure when requesting a list of UserAccess records which match on a provided ExternalReferenceID value.
Fields
| Input Field | Description |
|---|---|
externalReferenceID - String!
|
Search value for matching User Access records which are assigned a specific External Reference ID value. |
Example
{"externalReferenceID": "ab12cd34ef56"}
GetUserAccessByExternalRefIdResponse
Description
GetUserAccessByExternalRefIdResponse handles the response structure when requesting a list of UserAccess records which match on a provided ExternalReferenceID value.
Fields
| Field Name | Description |
|---|---|
userAccessRecords - [UserAccess!]!
|
Array of User Access records which match on the provided External Reference ID value. |
Example
{"userAccessRecords": [UserAccess]}
GetUserPassesByExternalRefIdRequest
Description
GetUserPassesByExternalRefIdRequest handles the input structure when requesting a list of UserPass records which match on a provided ExternalReferenceID value.
Fields
| Input Field | Description |
|---|---|
externalReferenceID - String!
|
Search value for matching UserPass records which are assigned to a AccessUser with External Reference ID value. |
Example
{"externalReferenceID": "ab12cd34ef56"}
GetUserPassesByExternalRefIdResponse
Description
GetUserPassesByExternalRefIdResponse will handle the response structure when requesting a list of UserPass records from the Cloud DB.
Fields
| Field Name | Description |
|---|---|
userPassRecords - [UserPass]!
|
List of UserPass records returned which matches on the External Reference ID field. |
Example
{"userPassRecords": [UserPass]}
Int
Description
The Int scalar type represents non-fractional signed whole numeric values. Int can represent values between -(2^31) and 2^31 - 1.
Example
42
Int64
Description
Int64 scalar used to handle support for 64bit integer values.
Example
Int64
Invoice
Description
Invoice is used for representing and breaking down the charge of an organisations usage for a billing cycle.
Fields
| Field Name | Description |
|---|---|
amount - Int!
|
Total invoice amount to be charged to the organisation for the reported billing period. This value will be record in the lowest denomination of the customers payment currency (EG pence for GBP, cents for USD). Example: 100000 |
anprSiteCharge - Int!
|
This value indicates how much of the total amount of the invoice was based on the monthly ANPR Site charge (EG anprSitePrice * anprSiteCount = anprSiteCharge). This value will be record in the lowest denomination of the customers payment currency (EG pence for GBP, cents for USD). Example: 10000 |
anprSiteCount - Int!
|
The number of ANPR Sites created within the system which have been used to calculate the final anprSiteCharge value for an Invoice. Example: 10 |
anprSitePrice - Int!
|
The price associated with each ANPR Site for generating charges within an Invoice's billing period (EG anprSitePrice * anprSiteCount = anprSiteCharge). This value will be record in the lowest denomination of the customers payment currency (EG pence for GBP, cents for USD). Example: 10000 |
apiCharge - Int!
|
This value indicates how much of the total amount of the invoice was based on API charge. This value will be record in the lowest denomination of the customers payment currency (EG pence for GBP, cents for USD). Example: 10000 |
billingPeriod - String!
|
Indicated the period of time that the invoice covers. This will be a single month for Monthly billing customers, where it will be a range of 3 months for quarterly billing customers. Examaple: May 2023 or May 2023 - July 2023. Please note that only monthly billing is support for now. |
dateOfInvoice - Time
|
DateOfInvoice is the timestamp when the invoice was created for the organisation. Example: 2022-11-18T11:52:30+0000 |
dueDate - Time
|
The date that the organisation is expected to pay the invoice by before it becomes overdue. Example: 2022-11-18T11:52:30+0000 |
invoiceNumber - String!
|
InvoiceNumber is a string used to uniquely identify the invoice within the platform. Example: 123456789 |
invoiceURL - String!
|
invoiceURL is a URL pointing to a download link of an invoice. |
lastModified - Time!
|
lastModified shows the timestamp of when the Invoice was last updated. Example: 2022-11-18T11:52:30+0000 |
paymentCurrency - String!
|
The currency that the organisation has agreed to pay in. Should be in currency code format, ISO 4217. Example: GBP |
paymentDate - Time
|
The timestamp of when the invoice was paid. Example: 2022-11-18T11:52:30+0000 |
paymentReminderPeriod - Int!
|
paymentReminderPeriod controls the number of days after an invoice becomes overdue that the organisation will receive a reminder email about the overdue payment. Example: 7 |
paymentReminderTaskName - String!
|
paymentReminderTaskName records the name of the Cloud Task item for processing a payment reminder notification for an organisation when payment is not received for the invoice. |
paymentTerms - Int!
|
paymentTerms controls the number of days that an Organisation has to pay an invoice before it becomes overdue (days after invoice has been issued). Example: 7 |
payments - [Int!]!
|
payments contains a list of interim payments associated with an Invoice. Example: [100000] |
platformCharge - Int!
|
This value indicates how much of the total amount of the invoice was based on the customers standard Platform charge. This value will be record in the lowest denomination of the customers payment currency (EG pence for GBP, cents for USD). Example: 100000 |
overdueInvoiceTaskName - String!
|
overdueInvoiceTaskName records the name of the Cloud Task item for processing invoice as overdue when payment is not received for the invoice by the due date. |
siteCharge - Int!
|
This value indicates how much of the total amount of the invoice was based on the monthly Site charge. This value will be record in the lowest denomination of the customers payment currency (EG pence for GBP, cents for USD). Example: 10000 |
siteCount - Int!
|
The number of Sites created within the system which have been used to calculate the final siteCharge value for an Invoice. Example: 10 |
sitePrice - Int!
|
The price of monthly Site charge for an Invoice's billing period. Example: 20 |
shutoffPeriod - Int!
|
shutoffPeriod controls the number of days before an Organisation account is restricted after an invoice has become overdue for payment. Example: 30 |
shutOffTaskName - String!
|
shutOffTaskName records the name of the Cloud Task item for processing organisation shut off when payment is not received for the invoice. |
startOfInvoice - Time!
|
The timestamp that the invoice is tracking charge accruement from. Example: 2022-11-18T11:52:30+0000 |
status - String!
|
Status shows if the invoice is in-progress, paid, overdue or pending payment. Example: overdue-payment |
supportCharge - Int!
|
This value indicates how much of the total amount of the invoice was based on Support charges. This value will be record in the lowest denomination of the customers payment currency (EG pence for GBP, cents for USD). Example: 100000 |
supportPackage - String!
|
The customers support package. Bronze is the standard, free tier of customer support. Silver and Gold are premium support packages and incur monthly charges for the customer. Example: Gold |
vatAmount - Int!
|
vatAmount contains the total UK VAT charge associated with the invoice. Example: 1000 |
Example
{
"amount": 60720,
"anprSiteCharge": 42,
"anprSiteCount": 42,
"anprSitePrice": 42,
"apiCharge": 42,
"billingPeriod": "June 2023",
"dateOfInvoice": "2024-03-23T17:21:00Z",
"dueDate": "2024-03-23T17:21:00Z",
"invoiceNumber": "ABC00000001",
"invoiceURL": "https://www.somelinktofile.com/",
"lastModified": "2024-03-23T17:21:00Z",
"paymentCurrency": "GBP",
"paymentDate": "2024-03-23T17:21:00Z",
"paymentReminderPeriod": 42,
"paymentReminderTaskName": "xyz789",
"paymentTerms": 42,
"payments": [42],
"platformCharge": 42,
"overdueInvoiceTaskName": "xyz789",
"siteCharge": 42,
"siteCount": 42,
"sitePrice": 42,
"shutoffPeriod": 42,
"shutOffTaskName": "xyz789",
"startOfInvoice": "2024-03-23T17:21:00Z",
"status": "active",
"supportCharge": 42,
"supportPackage": "Bronze",
"vatAmount": 42
}
Map
Description
Map scalar used to handle Map types from Golang. Please note that these values will either be in map[string]string or []map[string]string format based on the requested endpoint.
Example
{"some_key": "Some Value", "another_key": "Another Value"}
PaginatedAccessLevelsRequest
Description
PaginatedAccessLevelsRequest will control the input structure for requesting a batch of paginated Access Level records from the Cloud DB for an Organisation.
Fields
| Input Field | Description |
|---|---|
batchSize - Int!
|
batchSize controls the number of items which will be returned in the pagination request. EG 10 |
lastModifiedDate - Time
|
lastModifiedDate is the timestamp related to the final item of the previous pagination batch. For the first batch of pagination, please skip providing this value. For following requests, use the value returned from the previous pagination request. |
lastDocID - String
|
lastDocID is the unique ID related to the final item of the previous pagination batch. For the first batch of pagination, please skip providing this value. For following requests, use the value returned from the previous pagination request. |
Example
{
"batchSize": 10,
"lastModifiedDate": "2024-03-23T17:21:00Z",
"lastDocID": "some-doc-id"
}
PaginatedAccessLevelsResponse
Description
PaginatedAccessLevelsResponse will control the response structure to a request for fetching a batch of paginated Access Level records from the Cloud DB for an Organisation.
Fields
| Field Name | Description |
|---|---|
accessLevels - [AccessLevel!]!
|
Paginated list of AccessLevel records for an Organisation. |
lastModifiedDate - Time
|
lastModifiedDate is the timestamp related to the final item of the previous pagination batch. For the first batch of pagination, please skip providing this value. For following requests, use the value returned from the previous pagination request. |
lastDocID - String
|
lastDocID for the final record in the pagination batch. Please note that this value should be provided when attempting to retrieve the next batch of pagination items. |
Example
{
"accessLevels": [AccessLevel],
"lastModifiedDate": "2024-03-23T17:21:00Z",
"lastDocID": "some-doc-id"
}
PaginatedAccessUserResponse
Description
PaginatedAccessUserResponse will handle the response structure when requesting a paginated batch of AccessUser records from the Cloud DB.
Fields
| Field Name | Description |
|---|---|
accessUserRecords - [AccessUser]!
|
List of AccessUser records returned for pagination batch which matches on any applied filter options. |
lastDocID - String
|
Last Doc ID value for ordering pagination batches. Please provide this value in requests for subsequent batches to ensure ordering of pagination results is correct. |
lastModifiedTimestamp - Time
|
Last Modified Timestamp value for ordering pagination batches. Please provide this value in requests for subsequent batches to ensure ordering of pagination results is correct. |
Example
{
"accessUserRecords": [AccessUser],
"lastDocID": "some-doc-id",
"lastModifiedTimestamp": "2024-03-23T17:21:00Z"
}
PaginatedCardReaderRequest
Description
PaginatedCardReaderRequest will handle the input structure for fetching a paginated list of Card Reader records from the Cloud DB.
Fields
| Input Field | Description |
|---|---|
startTime - Time!
|
Start Time timestamp for filtering DB records. This value will be compared against the LastModified timestamp of the Card Reader records and the query will return any records updated after this point in time. Please note that there is a maximum of limit of 3 months between start and end time values. |
endTime - Time!
|
End Time timestamp for filtering DB records. This value will be compared against the LastModified timestamp of the Card Reader records and the query will return any records updated before this point in time. Please note that there is a maximum of limit of 3 months between start and end time values. |
direction - String!
|
Optional Direction value for filtering DB records. If this is not required, then please set the value to an empty string ('') or to 'all'. |
accessZoneName - String!
|
Optional Access Zone Name value for filtering DB records. If this is not required, then please set the value to an empty string ('') or to 'all'. |
lastDocID - String
|
Last Doc ID value for ordering pagination batches. When requesting the first batch, please omit this value from the request. On subsequent batches, please provide the lastDocID value returned from the previous call. |
lastModifiedTimestamp - Time
|
Last Modified Timestamp value for ordering pagination batches. When requesting the first batch, please omit this value from the request. On subsequent batches, please provide the lastModifiedTimestamp value returned from the previous call. |
batchSize - Int!
|
Batch size value to control the number of records returned in the pagination batch. |
Example
{
"startTime": "2023-03-23T17:21:00Z",
"endTime": "2023-03-23T17:21:00Z",
"direction": "xyz789",
"accessZoneName": "abc123",
"lastDocID": "some-doc-id",
"lastModifiedTimestamp": "2024-03-23T17:21:00Z",
"batchSize": 10
}
PaginatedInvoicesRequest
Description
PaginatedInvoicesRequest will control the input structure of a request to fetch a list of paginated Invoices.
Fields
| Input Field | Description |
|---|---|
batchSize - Int!
|
batchSize controls the number of items which will be returned in the pagination request. EG 10 |
lastStartDate - Time
|
lastStartDate is the timestamp related to the final item of the previous pagination batch. For the first batch of pagination, please skip providing this value. For following requests, use the value returned from the previous pagination request. |
lastDocID - String
|
lastDocID is the unique ID related to the final item of the previous pagination batch. For the first batch of pagination, please skip providing this value. For following requests, use the value returned from the previous pagination request. |
Example
{
"batchSize": 10,
"lastStartDate": "2024-03-23T17:21:00Z",
"lastDocID": "some-doc-id"
}
PaginatedInvoicesResponse
Description
PaginatedInvoicesResponse will control the structure of a response to fetching a paginated list of Invoices.
Fields
| Field Name | Description |
|---|---|
invoices - [Invoice!]!
|
Paginated list of Invoices. |
lastStartDate - Time
|
lastStartDate time of the final record in the pagination batch. When requesting the first batch, please omit this value. When requesting subsequent batches then please provided the returned value from the previous batch call to ensure ordering of pagination items. |
lastDocID - String
|
Doc ID of the final record in the pagination batch. When requesting the first batch, please omit this value. When requesting subsequent batches then please provided the returned value from the previous batch call to ensure ordering of pagination items. |
Example
{
"invoices": [Invoice],
"lastStartDate": "2024-03-23T17:21:00Z",
"lastDocID": "some-doc-id"
}
PaginatedPaymentsResponse
Description
PaginatedPaymentsResponse forms the generic struct to handle the response values when retrieving a list of paginated payments.
Fields
| Field Name | Description |
|---|---|
paymentDocs - [Payment!]!
|
Paginated list of Payment records for an Organisation. |
lastPaymentDate - Time
|
lastPaymentDate of the final record in the pagination batch. Please note that this value should be provided when attempting to retrieve the next batch of pagination items. |
lastDocID - String
|
lastDocID for the final record in the pagination batch. Please note that this value should be provided when attempting to retrieve the next batch of pagination items. |
Example
{
"paymentDocs": [Payment],
"lastPaymentDate": "2024-03-23T17:21:00Z",
"lastDocID": "some-doc-id"
}
PaginatedReaderResponse
Description
PaginatedReaderResponse will handle the response structure when requesting a paginated batch of Card Reader records from the Cloud DB.
Fields
| Field Name | Description |
|---|---|
cardReaderRecords - [Reader!]!
|
List of Card Reader records returned for pagination batch which matches on any applied filter options. |
lastDocID - String
|
Last Doc ID value for ordering pagination batches. Please provide this value in requests for subsequent batches to ensure ordering of pagination results is correct. |
lastModifiedTimestamp - Time
|
Last Modified Timestamp value for ordering pagination batches. Please provide this value in requests for subsequent batches to ensure ordering of pagination results is correct. |
Example
{
"cardReaderRecords": [Reader],
"lastDocID": "some-doc-id",
"lastModifiedTimestamp": "2024-03-23T17:21:00Z"
}
PaginatedReportingRequestsResponse
Description
PaginatedReportingRequestsResponse will control the response structure to a request for fetching a batch of paginated Reporting Request records from the Cloud DB for an Organisation.
Fields
| Field Name | Description |
|---|---|
reportingRequestList - [ReportingRequest]!
|
Paginated list of Reporting Request records for an Organisation. |
lastDocID - String
|
lastDocID for the final record in the pagination batch. Please note that this value should be provided when attempting to retrieve the next batch of pagination items. |
lastModifiedTimestamp - Time
|
lastModifiedTimestamp is the timestamp related to the final item of the previous pagination batch. For the first batch of pagination, please skip providing this value. For following requests, use the value returned from the previous pagination request. |
Example
{
"reportingRequestList": [ReportingRequest],
"lastDocID": "some-doc-id",
"lastModifiedTimestamp": "2024-03-23T17:21:00Z"
}
PaginatedServerRequest
Description
PaginatedServerRequest will handle the input values for requesting to retrieve a paginated list of On-Site Server records from the Cloud DB.
Fields
| Input Field | Description |
|---|---|
startTime - Time!
|
Start Time timestamp for filtering DB records. This value will be comapred against the LastModified timestamp of the Server records and the query will return any records updated after this point in time. Please note that there is a maximum of limit of 3 months between start and end time values. |
endTime - Time!
|
End Time timestamp for filtering DB records. This value will be comapred against the LastModified timestamp of the Server records and the query will return any records updated before this point in time. Please note that there is a maximum of limit of 3 months between start and end time values. |
siteID - String!
|
Optional Site ID value for filtering DB records. If this is not required, then please set the value to an empty string ('') or to 'all'. |
lastDocID - String
|
Last Doc ID value for ordering pagination batches. When requesting the first batch, please omit this value from the request. On subsequent batches, please provide the lastDocID value returned from the previous call. |
lastModifiedTimestamp - Time
|
Last Modified Timestamp value for ordering pagination batches. When requesting the first batch, please omit this value from the request. On subsequent batches, please provide the lastModifiedTimestamp value returned from the previous call. |
batchSize - Int!
|
Batch size value to control the number of records returned in the pagination batch. |
Example
{
"startTime": "2023-03-23T17:21:00Z",
"endTime": "2023-03-23T17:21:00Z",
"siteID": "xyz789",
"lastDocID": "some-doc-id",
"lastModifiedTimestamp": "2024-03-23T17:21:00Z",
"batchSize": 10
}
PaginatedServerResponse
Description
PaginatedServerResponse will handle the response structure when requesting a paginated batch of On-Site Server records from the Cloud DB.
Fields
| Field Name | Description |
|---|---|
serverRecords - [Server!]!
|
List of On-Site Server records returned for pagination batch which matches on any applied filter options. |
lastDocID - String
|
Last Doc ID value for ordering pagination batches. Please provide this value in requests for subsequent batches to ensure ordering of pagination results is correct. |
lastModifiedTimestamp - Time
|
Last Modified Timestamp value for ordering pagination batches. Please provide this value in requests for subsequent batches to ensure ordering of pagination results is correct. |
Example
{
"serverRecords": [Server],
"lastDocID": "some-doc-id",
"lastModifiedTimestamp": "2024-03-23T17:21:00Z"
}
PaginatedSiteResponse
Description
PaginatedSiteResponse will handle the structure of the response for the fetchPaginatedSites() query.
Fields
| Field Name | Description |
|---|---|
siteRecords - [Site!]!
|
Paginated list of Site records from Cloud DB. |
lastDocID - String
|
The Document ID of the last Site record returned within pagination batch. This value should be used in subsequent requests to ensure that paginated results are returned in the correct order. If this value is returned as null / empty string, then there are no more records to fetch (EG Pagination complete). |
lastModifiedTimestamp - Time
|
The LastModified timestamp of the last Site record returned within pagination batch. This value should be used in subsequent requests to ensure that paginated results are returned in the correct order. If this value is returned as null, then there are no more records to fetch (EG Pagination complete) |
Example
{
"siteRecords": [Site],
"lastDocID": "some-doc-id",
"lastModifiedTimestamp": "2024-03-23T17:21:00Z"
}
PaginatedTabletUserRequest
Description
PaginatedTabletUserRequest will handle the input structure for requesting a paginated list of Tablet Users for an Organisation.
Fields
| Input Field | Description |
|---|---|
siteID - String
|
Optional filter to return TabletUser which are associated with a specific site. If this filter is not required, then you can omit the value from the request, set to an empty string ('') or set to 'all'. |
batchSize - Int!
|
Batch size for controlling the number of items which will be returned in the pagination request. EG 10. |
lastDocID - String
|
The Document ID of the last TabletUser record returned within pagination batch. If requesting the first batch, then please omit this value from request. For subsequent requests, this value should be populated with the response value from the previous call to this endpoint to ensure results are returned in the correct order. |
lastModifiedTimestamp - Time
|
The LastModified timestamp of the last TabletUser record returned within pagination batch. If requesting the first batch, then please omit this value from request. For subsequent requests, this value should be populated with the response value from the previous call to this endpoint to ensure results are returned in the correct order. |
Example
{
"siteID": "xyz789",
"batchSize": 10,
"lastDocID": "some-doc-id",
"lastModifiedTimestamp": "2024-03-23T17:21:00Z"
}
PaginatedTabletUserResponse
Description
PaginatedTabletUserResponse will handle the response structure to a request for paginated Tablet Users for an Organisation.
Fields
| Field Name | Description |
|---|---|
tabletUserRecords - [TabletUserDetails!]!
|
Paginated list of TabletUser records from Cloud DB. |
lastDocID - String
|
The Document ID of the last TabletUser record returned within pagination batch. This value should be used in subsequent requests to ensure that paginated results are returned in the correct order. If this value is returned as null / empty string, then there are no more records to fetch (EG Pagination complete). |
lastModifiedTimestamp - Time
|
The Last Modified timestamp of the last Tablet User record returned within pagination batch. This value should be used in subsequent requests to ensure that paginated results are returned in the correct order. If this value is returned as null, then there are no more records to fetch (EG Pagination complete). |
Example
{
"tabletUserRecords": [TabletUserDetails],
"lastDocID": "some-doc-id",
"lastModifiedTimestamp": "2024-03-23T17:21:00Z"
}
PaginatedUserAccessLogsRequest
Description
PaginatedUserAccessLogsRequest will handle the input structure for requesting paginated Access Logs for a User.
Fields
| Input Field | Description |
|---|---|
externalReferenceID - String!
|
External Reference ID of the Access User for retrieving Access Logs records. |
serialNumber - String
|
Optional SerialNumber value for filtering DB records to a specific pass for the specified user. If this filter option is not required, you can omit this value from the request, set the value to an empty string (EG ''). |
batchSize - Int!
|
Batch size value to control the number of records returned in the pagination batch. |
lastDocID - String
|
Last Doc ID value for ordering pagination batches. When requesting the first batch, please omit this value from the request. On subsequent batches, please provide the lastDocID value returned from the previous call. |
lastUploadedTimestamp - Time
|
Last Uploaded Timestamp value for ordering pagination batches. When requesting the first batch, please omit this value from the request. On subsequent batches, please provide the lastUploadedTimestamp value returned from the previous call. |
siteID - String
|
Optional siteID value for filtering DB records to a specific site. If this filter option is not required, you can omit this value from the request, set the value to an empty string (EG ''), or set the value to 'all'. |
accessZoneName - String
|
Optional access zone value for filtering DB records to a specific access zone. If this filter option is not required, you can omit this value from the request, set the value to an empty string (EG ''), or set the value to 'all'. |
Example
{
"externalReferenceID": "ab12cd34ef56",
"serialNumber": "110100000001",
"batchSize": 10,
"lastDocID": "some-doc-id",
"lastUploadedTimestamp": "2024-03-23T17:21:00Z",
"siteID": "abc123",
"accessZoneName": "xyz789"
}
PaginatedUserAccessLogsResponse
Description
PaginatedUserAccessLogsResponse will handle the structure of the response to a paginated Access Log request for a User.
Fields
| Field Name | Description |
|---|---|
accessLogRecords - [AccessLog!]!
|
Paginated list of Access Log records which match on any applied filter options. |
lastDocID - String
|
Last Doc ID value for ordering pagination batches. Please provide this value in requests for subsequent batches to ensure ordering of pagination results is correct. |
lastUploadedTimestamp - Time
|
Last Uploaded Timestamp value for ordering pagination batches. Please provide this value in requests for subsequent batches to ensure ordering of pagination results is correct. |
Example
{
"accessLogRecords": [AccessLog],
"lastDocID": "some-doc-id",
"lastUploadedTimestamp": "2024-03-23T17:21:00Z"
}
PaginatedUserPassResponse
Description
PaginatedUserPassResponse will handle the response structure when requesting a paginated batch of UserPass records from the Cloud DB.
Fields
| Field Name | Description |
|---|---|
userPassRecords - [UserPass]!
|
List of UserPass records returned for pagination batch which matches on any applied filter options. |
lastDocID - String
|
Last Doc ID value for ordering pagination batches. Please provide this value in requests for subsequent batches to ensure ordering of pagination results is correct. |
lastModifiedTimestamp - Time
|
Last Modified Timestamp value for ordering pagination batches. Please provide this value in requests for subsequent batches to ensure ordering of pagination results is correct. |
Example
{
"userPassRecords": [UserPass],
"lastDocID": "some-doc-id",
"lastModifiedTimestamp": "2024-03-23T17:21:00Z"
}
PaginatedUserSwipeLogsRequest
Description
PaginatedUserSwipeLogsRequest will handle the input structure for requesting paginated Swipe Logs for a User.
Fields
| Input Field | Description |
|---|---|
externalReferenceID - String!
|
External Reference ID of the Access User for retrieving Swipe Logs records. |
serialNumber - String
|
Optional SerialNumber value for filtering DB records to a specific pass for the specified user. If this filter option is not required, you can omit this value from the request, set the value to an empty string (EG ''). |
batchSize - Int!
|
Batch size value to control the number of records returned in the pagination batch. |
lastDocID - String
|
Last Doc ID value for ordering pagination batches. When requesting the first batch, please omit this value from the request. On subsequent batches, please provide the lastDocID value returned from the previous call. |
lastUploadedTimestamp - Time
|
Last Uploaded Timestamp value for ordering pagination batches. When requesting the first batch, please omit this value from the request. On subsequent batches, please provide the lastUploadedTimestamp value returned from the previous call. |
siteID - String
|
Optional siteID value for filtering DB records to a specific site. If this filter option is not required, you can omit this value from the request, set the value to an empty string (EG ''), or set the value to 'all'. |
accessZoneName - String
|
Optional access zone value for filtering DB records to a specific access zone. If this filter option is not required, you can omit this value from the request, set the value to an empty string (EG ''), or set the value to 'all'. |
Example
{
"externalReferenceID": "ab12cd34ef56",
"serialNumber": "110100000001",
"batchSize": 10,
"lastDocID": "some-doc-id",
"lastUploadedTimestamp": "2024-03-23T17:21:00Z",
"siteID": "abc123",
"accessZoneName": "abc123"
}
PaginatedUserSwipeLogsResponse
Description
PaginatedUserSwipeLogsResponse will handle the structure of the response to a paginated Swipe Log request for a User.
Fields
| Field Name | Description |
|---|---|
swipeLogRecords - [SwipeLog!]!
|
Paginated list of Swipe Log records which match on any applied filter options. |
lastDocID - String
|
Last Doc ID value for ordering pagination batches. Please provide this value in requests for subsequent batches to ensure ordering of pagination results is correct. |
lastUploadedTimestamp - Time
|
Last Uploaded Timestamp value for ordering pagination batches. Please provide this value in requests for subsequent batches to ensure ordering of pagination results is correct. |
Example
{
"swipeLogRecords": [SwipeLog],
"lastDocID": "some-doc-id",
"lastUploadedTimestamp": "2024-03-23T17:21:00Z"
}
Payment
Description
Payment forms the generic struct to handle a record of payment on account for an Organisation.
Fields
| Field Name | Description |
|---|---|
amountPaid - Int!
|
Amount received for payment. Please note that this will be displayed in the lowest denomination of the selected currency (EG pennies for GBP). |
dateOfPayment - Time!
|
Timestamp of when the payment was received. |
invoiceNumber - String!
|
Invoice Number which the payment was registered against. |
reporter - String!
|
Reporter of who registered the payment within the Breezin platform. |
Example
{
"amountPaid": 42,
"dateOfPayment": "2024-03-23T17:21:00Z",
"invoiceNumber": "ABC00000001",
"reporter": "xyz789"
}
ProfilePicture
Description
ProfilePicture will handle the structure of a Profile Picture uploaded for an end_user (Access User Record).
Fields
| Field Name | Description |
|---|---|
aHash - String!
|
Field to record the Average Hash value generated for a profile picture used when checking if the image is changed while updating it within the platform. |
dHash - String!
|
Field to record Difference Hash value generated for a profile picture when checking if the image is changed while updating it within the platform. |
externalReferenceID - String!
|
Field to record the end-users External Reference ID against their UserAccess record for reporting purposes. |
imageAccepted - Boolean!
|
Field to record the boolean value if the image (Profile Picture) was accepted or not. |
lastModified - Time!
|
Last Modified timestamp of when the Profile Picture was last updated within the platform. |
modifier - String!
|
The email address of the user who last modified the Site record within the platform. |
pHash - String!
|
Field to record Perception Hash value generated for a profile picture when checking if the image is changed while updating it within the platform. |
profilePicture - String!
|
Field to record the Base-64 string value of the uploaded Profile Picture for an Access User. |
source - String!
|
Field to record the source from which the profile picture was uploaded. EG External. |
Example
{
"aHash": "xyz789",
"dHash": "abc123",
"externalReferenceID": "ab12cd34ef56",
"imageAccepted": true,
"lastModified": "2024-03-23T17:21:00Z",
"modifier": "example@email.com",
"pHash": "xyz789",
"profilePicture": "xyz789",
"source": "xyz789"
}
Reader
Description
Reader controls the data structure for a Card Reader record within the Cloud DB.
Fields
| Field Name | Description |
|---|---|
accessToken - String!
|
JWT Access Token for the Card Reader to authenticate Cloud communications. |
accessZoneName - String!
|
The title of the Access Zone which the Card Reader is associated with. |
created - Time!
|
The timestamp of when the Card Reader was first created within the Cloud DB. |
creator - String!
|
The email address of the system admin who created the Reader record. |
direction - String!
|
The gate direction of the Card Reader, EG 'entry' or 'exit'. |
lastModified - Time!
|
The timestamp of when the Card Reader was last modified in the Cloud DB. |
lastUpdateTime - Time
|
The timestamp of when the Card Reader last updated it's configuration with the Cloud. |
modifier - String!
|
The email address of the system admin which last modified the Card Reader record. |
pulseTime - Int!
|
The pulse time for how long, in seconds, that the card reader will open the relay when a successful swipe occurs. |
siteID - String!
|
The ID of the site where the Card Reader has been installed. |
title - String!
|
The name of the Card Reader record. |
lastHealthCheck - Time
|
Timestamp to record when the Card Reader last reported a successful health check to the Cloud. |
readerMacAddress - String
|
The unique Mac Address of the Card Reader. |
readerSerial - String
|
The unique Serial Number of the Card Reader. |
esp32IdfVersion - String
|
Current version of the ESP32 IDF running on the Card Reader instance. |
esp32AppVersion - String
|
Current version of the ESP32 App running on the Card Reader instance. |
pnNpxFwVersion - String
|
Current version of the Pn NXP FW running on the Card Reader instance. |
pnAppVersion - String
|
Current version of the Pn NXP App running on the Card Reader instance. |
lastReboot - Time
|
Timestamp of the last reboot for the Card Reader instance. |
status - Int
|
Current Status of the Card Reader instance. |
Example
{
"accessToken": "abc123",
"accessZoneName": "xyz789",
"created": "2024-03-23T17:21:00Z",
"creator": "example@email.com",
"direction": "xyz789",
"lastModified": "2024-03-23T17:21:00Z",
"lastUpdateTime": "2024-03-23T17:21:00Z",
"modifier": "example@email.com",
"pulseTime": 42,
"siteID": "abc123",
"title": "Some Title",
"lastHealthCheck": "2024-03-23T17:21:00Z",
"readerMacAddress": "xyz789",
"readerSerial": "xyz789",
"esp32IdfVersion": "xyz789",
"esp32AppVersion": "xyz789",
"pnNpxFwVersion": "abc123",
"pnAppVersion": "abc123",
"lastReboot": "2024-03-23T17:21:00Z",
"status": "active"
}
RegenerateApiTokenRequest
Description
RegenerateApiTokenRequest will handle the input structure for requesting to regenerate an API Token for an Organisation.
Example
{}
RegenerateApiTokenResponse
Description
RegenerateApiTokenResponse will handle the response structure to a Regenerate Org API Token request.
Fields
| Field Name | Description |
|---|---|
apiToken - String!
|
Newly generated API Token for the organisation. |
Example
{"apiToken": "xyz789"}
RegenerateCameraServerAccessTokenRequest
Description
RegenerateCameraServerAccessTokenRequest will handle the input values for regenerating an Organisation's ANPR Camera Server access token.
Fields
| Input Field | Description |
|---|---|
cameraServerName - String!
|
The name of the On-Site ANPR Camera Server to be updated with a new Access Token. |
Example
{"cameraServerName": "abc123"}
RegenerateCameraServerApiAccessTokenRequest
Description
RegenerateCameraServerApiAccessTokenRequest will handle the input structure for requesting that an API Access Token is regenerated for an On-Site ANPR Camera Server.
Fields
| Input Field | Description |
|---|---|
cameraServerName - String!
|
The name of the On-Site ANPR Camera Server to be updated with a new API Access Token. |
Example
{"cameraServerName": "abc123"}
RegenerateReaderTokenRequest
Description
RegenerateReaderTokenRequest will handle the input values for regenerating a Card Readers access token.
Fields
| Input Field | Description |
|---|---|
readerName - String!
|
The name of the Card Reader to be updated with a new Access Token. |
Example
{"readerName": "abc123"}
RegenerateServerApiAccessTokenRequest
Description
RegenerateServerApiAccessTokenRequest will handle the input structure for requesting that an API Access Token is regenerated for an On-Site Server.
Fields
| Input Field | Description |
|---|---|
title - String!
|
The title of the On-Site Server record to be updated for an Organisation. |
Example
{"title": "Some Title"}
RegenerateServerTokenRequest
Description
RegenerateServerTokenRequest will handle the input values for regenerating an On-Site Servers access token.
Fields
| Input Field | Description |
|---|---|
serverName - String!
|
The name of the On-Site Server to be updated with a new Access Token. |
Example
{"serverName": "abc123"}
RemoveCardReaderRequest
Description
RemoveCardReaderRequest will handle the input values for removing an existing Card Reader from the Cloud DB.
Fields
| Input Field | Description |
|---|---|
readerTitle - String!
|
The title of the Reader record to be removed for an Organisation. |
Example
{"readerTitle": "abc123"}
RemoveOnSiteServerRequest
Description
RemoveOnSiteServerRequest will handle the input values for removing an existing On-Site Server for an Organisation.
Fields
| Input Field | Description |
|---|---|
serverName - String!
|
The title of the On-Site Server record to be removed for an Organisation. |
Example
{"serverName": "abc123"}
RemoveTabletUserRequest
Description
RemoveTabletUserRequest will handle the input structure for handling a request to remove a Tablet User for an Organisation.
Fields
| Input Field | Description |
|---|---|
username - String!
|
The username of the tablet user to be removed for an Organisation. |
Example
{"username": "xyz789"}
RemoveUserProfilePictureRequest
Description
RemoveUserProfilePictureRequest will handle the input structure to remove a profile picture for a specific Access User record.
Fields
| Input Field | Description |
|---|---|
serialNumber - String
|
Optional 'SerialNumber' field to upload Profile Picture to Access User record. Please note that either this value, or 'ExternalReferenceID' value should be used to link image to Access User record. When 'SerialNumber' is specified, this image will be linked to Access User record which has the 'SerialNumber' value. |
externalReferenceID - String
|
Optional 'ExternalReferenceID' field to upload Profile Picture to Access User record. Please note that either this value, or 'SerialNumber' value should be used to link image to Access User record. When 'ExternalReferenceID' is specified, this image will be linked to Access User record which match on the provided 'ExternalReferenceID' value. |
Example
{"serialNumber": "110100000001", "externalReferenceID": "ab12cd34ef56"}
ReportingRequest
Description
ReportingRequest will control the response structure when searching for a reporting request in the DB.
Fields
| Field Name | Description |
|---|---|
reportType - String!
|
The type of the report the request was registered or raised against. Supported values: AllSitesSwipeLogsReport, SiteSwipeLogsReport, AllSitesAccessLogsReport, SiteAccessLogsReport, UserSwipeLogsReport, UserAccessLogsReport, AllSitesVehicleSwipeLogsReport, VehicleSwipeLogsReport, AllSitesVehicleAccessLogsReport or VehicleAccessLogsReport. |
status - String!
|
The current status of the request (EG in-progress or complete) |
created - Time!
|
Timestamp of when the reporting request was raised. |
requester - String!
|
The email address of the system user who's requested the report. |
lastModified - Time!
|
Timestamp of when the reporting request record was last updated within the platform. |
downloadURL - String!
|
The URL link to download the generated CSV file of the report stored in the cloud bucket. |
Example
{
"reportType": "xyz789",
"status": "active",
"created": "2024-03-23T17:21:00Z",
"requester": "xyz789",
"lastModified": "2024-03-23T17:21:00Z",
"downloadURL": "xyz789"
}
ReportingResponse
Description
ReportingResponse is a generic response type from a Breezin Generate Report API request. It contains a message that will provide the result of an action along with the report ID generated for the report request.
Example
{
"message": "Response message containing results of API request",
"reportID": "abc123"
}
ResponseMessage
Description
ResponseMessage is a generic string response from a Breezin API request. This message will provide the result of an action.
Fields
| Field Name | Description |
|---|---|
message - String!
|
The message returned from the service. |
Example
{"message": "Response message containing results of API request"}
SerialNumberDetails
Description
SerialNumberDetails will handle the structure Serial Number Details for an AccessUsers passes.
Example
{
"serialNumber": "110100000001",
"created": "2024-03-23T17:21:00Z",
"expiryDate": "2024-03-23T17:21:00Z"
}
Server
Description
Server will control the Structure of an On-Site Server record written to the Cloud DB.
Fields
| Field Name | Description |
|---|---|
accessToken - String!
|
JWT Access Token for the On-Site Server record. |
apiAccessToken - String!
|
API Access Token for authenticating API requests received by the On-Site Server. |
created - Time!
|
Timestamp of when the Server record was first created. |
creator - String!
|
The email address of the system user which first created the Server. |
lastModified - Time!
|
Timestamp of when the Server record was last updated in the Cloud DB. |
lastUpdateTime - Time
|
Timestamp of when the Server last updated it's configuration from the Cloud DB. |
lastReportedVersion - String
|
Version number of the application which the Server is currently running. |
modifier - String!
|
The email address of the system user who last updated the Server record. |
siteID - String!
|
The ID of the Site where the On-Site Server is located. |
serverMode - String!
|
The mode value to control how the On-Site Server will communicate with Card Readers. Available options are nortech_rs232, usb and ethernet for now. |
title - String!
|
The name of the On-Site Server recorded in the Cloud DB. |
ipAddress - String
|
IP Address of the On-Site Server on the local network. Please note that this value will be used to allow the tablet application to communicate with the server on site. |
lastHealthCheck - Time
|
Timestamp to record when an On-Site Server last reported a successful health check to the Cloud. |
Example
{
"accessToken": "xyz789",
"apiAccessToken": "abc123",
"created": "2024-03-23T17:21:00Z",
"creator": "example@email.com",
"lastModified": "2024-03-23T17:21:00Z",
"lastUpdateTime": "2024-03-23T17:21:00Z",
"lastReportedVersion": "abc123",
"modifier": "example@email.com",
"siteID": "xyz789",
"serverMode": "abc123",
"title": "Some Title",
"ipAddress": "xyz789",
"lastHealthCheck": "2024-03-23T17:21:00Z"
}
Site
Description
Site will handle the structure of a Site object from the Cloud DB.
Fields
| Field Name | Description |
|---|---|
id - String!
|
The unique ID field of the Site record. |
siteAccessZones - Map
|
A map of the Access Zones registered against the site. |
created - Time!
|
Created timestamp of when the Site was registered within the platform. |
creator - String!
|
The email address of the user who created the Site record within the platform. |
lastModified - Time!
|
Last Modified timestamp of when the Site was last updated within the platform. |
modifier - String!
|
The email address of the user who last modified the Site record within the platform. |
displayName - String!
|
The display name of the Site record. |
siteAccessLevelList - [String!]!
|
List of access levels configured for Access Zones within a Site. Please note that this will be automatically generated by the system based on the configured access zones. |
isAccessControlEnabled - Boolean!
|
Flag to record whether a Site record is setup to accept access control events at the Site. When set to true, the Site will be enabled for configuring Access Zones, and will also be enabled in monthly billing. Please note that if this value is set to false, the system will reject configured Access Zones for the site and the site will also not be included in monthly billing. |
isAnprEnabled - Boolean!
|
Flag to record whether a Site record is setup to accept ANPR events at the Site. When set to true, the Site will be enabled for configuring ANPR Settings, and will also be enabled in monthly billing. Please note that if this value is set to false, the site will not be included in monthly billing for ANPR. |
Example
{
"id": "some-id",
"siteAccessZones": {"some_key": "Some Value", "another_key": "Another Value"},
"created": "2024-03-23T17:21:00Z",
"creator": "example@email.com",
"lastModified": "2024-03-23T17:21:00Z",
"modifier": "example@email.com",
"displayName": "abc123",
"siteAccessLevelList": ["xyz789"],
"isAccessControlEnabled": true,
"isAnprEnabled": false
}
String
Description
The String scalar type represents textual data, represented as UTF-8 character sequences. The String type is most often used by GraphQL to represent free-form human-readable text.
Example
"xyz789"
SwipeLog
Description
SwipeLog will handle the structure of a Swipe Log record uploaded from an On-Site Server when an end-user presents their pass at a Card Reader.
Fields
| Field Name | Description |
|---|---|
accessGranted - Boolean!
|
Boolean flag to record whether the end-user was granted access at the Card Reader for the swipe event. |
denialReason - String!
|
Recorded denial reason for why a user was denied entry at a Card Reader for a swipe event. Please note that this will be set to an Empty String ('') when the user is granted access. |
externalReferenceID - String!
|
The External Reference ID for the end-user who has scanned their pass. Please set this value to the unique customer ID in your external systems. |
firstName - String!
|
The First Name of the end-user who has scanned their pass. Please note that this will be set to an Empty String ('') if the Organisation does not set this value as part of the User Access record. |
gateDirection - String!
|
The direction of the reader which the end-user has presented their pass to for a swipe event (EG 'entry' or 'exit'). |
lastName - String!
|
The Last Name of the end-user who has scanned their pass. Please note that this will be set to an Empty String ('') if the Organisation does not set this value as part of the User Access record. |
manualOpen - Boolean!
|
Boolean flag to record whether the swipe event was a manual override of the access control system by an member of staff. |
readerAccessZone - String!
|
The title of the Access Zone associated with the Card Reader for the swipe event. |
readerID - String!
|
The title of the Card Reader which the end-user presented their pass for the swipe event. |
reentryWarning - Boolean!
|
Boolean flag to record whether the swipe event had flagged a re-entry warning (EG user re-enters shortly after leaving). |
serialNumber - String!
|
The unique Serial Number of the end-user's pass scanned for the swipe event. |
serverName - String!
|
Name of the On-Site Server where the scan event occurred. Please note that this value should be set to an empty string ('') for instances where no On-Site Server is available. |
siteID - String!
|
The ID of the Site where the swipe event occurred. |
uploaded - Boolean!
|
Boolean flag to record whether a SwipeLog record has been uploaded to the Cloud. This value will be overwritten by the cloud endpoint before inserting SwipeLog to database. |
uploadedTimestamp - Time!
|
Timestamp to record when a SwipeLog record was uploaded to the Cloud. This value will be overwritten by the cloud endpoint before inserting SwipeLog to database. |
usageDay - Int!
|
The day of which a swipe event occurred. |
usageMonth - String!
|
The month of which a swipe event occurred. |
usageYear - Int!
|
The year of which a swipe event occurred. |
usageTimestamp - Time!
|
The timestamp of when the Swipe event occurred on site. |
Example
{
"accessGranted": false,
"denialReason": "abc123",
"externalReferenceID": "ab12cd34ef56",
"firstName": "xyz789",
"gateDirection": "xyz789",
"lastName": "abc123",
"manualOpen": true,
"readerAccessZone": "abc123",
"readerID": "abc123",
"reentryWarning": true,
"serialNumber": "110100000001",
"serverName": "abc123",
"siteID": "xyz789",
"uploaded": true,
"uploadedTimestamp": "2024-03-23T17:21:00Z",
"usageDay": 42,
"usageMonth": "abc123",
"usageYear": 42,
"usageTimestamp": "2024-03-23T17:21:00Z"
}
TabletUserDetails
Description
TabletUserDetails will control the structure of data returned when fetching a Tablet User from the Cloud DB.
Fields
| Field Name | Description |
|---|---|
created - Time!
|
Timestamp of when the Tablet User's account was originally created. |
creator - String!
|
The email address of the System Admin who originally created the Tablet User's account. |
emailAddress - String!
|
Email Address associated with the Tablet User's account. |
isLocked - Boolean!
|
Boolean flag to record whether the Tablet Users account has been locked (EG too many invalid login attempts). |
lastModified - Time!
|
Timestamp of when the Tablet User was last modified within the system. |
modifier - String!
|
The email address of the system admin which last modified the tablet user's account. |
siteID - String!
|
The ID of the Site which the Tablet User is associated with. |
username - String!
|
The username for the Tablet User record. |
Example
{
"created": "2024-03-23T17:21:00Z",
"creator": "example@email.com",
"emailAddress": "example@email.com",
"isLocked": true,
"lastModified": "2024-03-23T17:21:00Z",
"modifier": "example@email.com",
"siteID": "xyz789",
"username": "abc123"
}
Time
Description
Time scaler used to handle Golang's time.Time values. Please provide any timestamp values in YYYY-MM-DDThh:mm:ssZ format as this is compliant with ISO 8601 and RFC 3339. EG 2006-01-02T15:04:05-07:00, 2022-02-26T01:30:00Z, 2022-04-01T08:00:00+01:00
Example
"2024-03-23T17:21:00Z"
UpdateAccessLevelRequest
Description
UpdateAccessLevelRequest will control the input structure for requesting updates to an existing AccessLevel record in the Cloud DB.
Fields
| Input Field | Description |
|---|---|
title - String!
|
Title of the AccessLevel record to be updated in the Cloud DB. |
description - String
|
Optional description field for updating an existing Access Level record. |
displayName - String
|
Optional field to update the human-readable display name for the Access Level record. |
Example
{
"title": "Some Title",
"description": "Some description",
"displayName": "xyz789"
}
UpdateAccessUserDetailsRequest
Description
UpdateAccessUserDetailsRequest will handle the input structure for updating an existing AccessUser record for an organisation.
Fields
| Input Field | Description |
|---|---|
accountID - String
|
Optional Account ID field to record the end-users account details against their AccessUser record for reporting purposes (EG Membership Number, Account Number, etc). This value may be left blank if not required by Organisation. |
dateOfBirth - String
|
Optional field to record the end-users date of birth against their AccessUser record for reporting purposes. This value may be left blank if not required by Organisation. |
externalReferenceID - String!
|
Field to record the end-users External Reference ID against their AccessUser record for reporting purposes. This value will represent the unique Customer ID value as defined by your organisations external system. |
firstName - String
|
Optional field to record the end-users first name against their AccessUser record for reporting purposes. This value may be left blank if not required by Organisation. |
homeSite - String
|
Optional field to record the end-users home site against their AccessUser record for reporting purposes. This value may be left blank if not required by Organisation. If setting this value, this will be verified against Site ID values configured for the Organisation. |
latestJoinDate - String
|
Optional field to record the end-users Latest Join Date against their AccessUser record for reporting purposes. This value may be left blank if not required by Organisation. |
lastName - String
|
Optional field to record the end-users last name against their AccessUser record for reporting purposes. This value may be left blank if not required by Organisation. |
packageName - String
|
Optional field to record the end-users package name against their AccessUser record for reporting purposes. This value may be left blank if not required by Organisation. |
packageCategory - String
|
Optional field to record the end-users package category against their AccessUser record for reporting purposes. This value may be left blank if not required by Organisation. |
phoneNumber - String
|
Optional field to record the end-users phone number against their AccessUser record. This value may be left blank if not required by Organisation. |
emailAddress - String
|
Optional field to record the end-users email address against their AccessUser record. This value may be left blank if not required by Organisation. |
postCode - String
|
Optional field to record the end-users post code against their AccessUser record for reporting purposes. This value may be left blank if not required by Organisation. |
Example
{
"accountID": "abc123",
"dateOfBirth": "xyz789",
"externalReferenceID": "ab12cd34ef56",
"firstName": "xyz789",
"homeSite": "xyz789",
"latestJoinDate": "abc123",
"lastName": "abc123",
"packageName": "xyz789",
"packageCategory": "xyz789",
"phoneNumber": "abc123",
"emailAddress": "example@email.com",
"postCode": "xyz789"
}
UpdateCameraRequest
Description
UpdateCameraRequest will handle the input structure for requesting an update to an existing ANPR Camera for an Organisation.
Fields
| Input Field | Description |
|---|---|
title - String!
|
The name of the On-Site ANPR Camera recorded in the Cloud DB. |
serial - String
|
Optional unique serial number (mac address) of the ANPR Camera to be updated for an Organisation. |
direction - String
|
Optional value to update the car park barrier direction for which the ANPR camera is monitoring (EG entry / exit). Please omit this value from the request if you do not wish to modify. |
siteID - String
|
Optional value to update the ID of the Site where the ANPR Camera is located. Please omit this value from the request if you do not wish to modify. |
Example
{
"title": "Some Title",
"serial": "xyz789",
"direction": "xyz789",
"siteID": "xyz789"
}
UpdateCameraServerRequest
Description
UpdateCameraServerRequest will handle the input structure for requesting an update to an ANPR Camera Server for an Organisation.
Fields
| Input Field | Description |
|---|---|
title - String!
|
The name of the ANPR Camera Server to be updated for an Organisation. |
ipAddress - String
|
Opitional value to update the IP Address for an ANPR Camera Server record for an Organisaton. Please omit this value from the request if you do not wish to modify. |
siteID - String
|
Opitional value to update the Site ID for an ANPR Camera Server record for an Organisaton. Please omit this value from the request if you do not wish to modify. |
Example
{
"title": "Some Title",
"ipAddress": "abc123",
"siteID": "abc123"
}
UpdateCardReaderRequest
Description
UpdateCardReaderRequest will handle the input values for updating an existing Card Reader for an Organisation.
Fields
| Input Field | Description |
|---|---|
accessZoneName - String!
|
The name of the Access Zone which the Reader should be associated with at a particular site. |
direction - String!
|
The direction of swipe events associated with the Reader record (EG entry or exit). |
pulseTime - Int!
|
The number of seconds for which the Reader should trigger the relay to stay open for when a successful swipe event occurs. |
readerName - String!
|
The title of the Reader record to be updated for an Organisation. |
siteID - String!
|
The ID of the Site which the updated Reader record should be associated with. |
Example
{
"accessZoneName": "abc123",
"direction": "xyz789",
"pulseTime": 42,
"readerName": "xyz789",
"siteID": "abc123"
}
UpdateOnSiteServerRequest
Description
UpdateOnSiteServerRequest will handle the input values for updating an existing On-Site Server for an Organisation.
Fields
| Input Field | Description |
|---|---|
serverName - String!
|
The title of the On-Site Server record to be updated for an Organisation. |
siteID - String
|
Optional field for updating the ID of the Site which the updated Server record should be associated with. If this value is not required to be updated, the please omit the value from the Update Request. |
serverMode - String
|
Optional field for updating the mode value to control how the On-Site Server will communicate with Card Readers. Available options are nortech_rs232, usb and ethernet for now. If this value is not required to be updated, the please omit the value from the Update Request. |
ipAddress - String
|
Optional value to update the IP Address recorded for the On-Site Server. This value will be used to allow the tablet application to communicate with the server on site. If this value is not required to be updated, the please omit the value from the Update Request. |
Example
{
"serverName": "xyz789",
"siteID": "xyz789",
"serverMode": "abc123",
"ipAddress": "xyz789"
}
UpdateOrgAccessZonesRequest
Description
UpdateOrgAccessZonesRequest will handle the input structure for requesting to update an Organisations list of available Access Zones.
Fields
| Input Field | Description |
|---|---|
accessZoneList - [String!]!
|
The list of access zones to be applied to an Organisation's account. Please note that these values will be added to the existing list of Access Zones for an Org, and will not overwrite any existing values. Please provide only new Access Zone values with a request. |
Example
{"accessZoneList": ["abc123"]}
UpdateSiteRequest
Description
UpdateSiteRequest will handle the input structure for requesting updates to an existing organisation Site.
Fields
| Input Field | Description |
|---|---|
siteAccessZones - Map!
|
A map of the Access Zones to be updated within the Site. This will contain the configuration details for each access zone. Please note that this will overwrite any existing Access Zone values for the site. |
id - String!
|
The unique ID of the Site to be updated within the database. |
displayName - String!
|
Display name of the existing Site to be updated. Please note that this value should be provided as the existing value when updating a Site and no change is required for the Display Name field. |
isAccessControlEnabled - Boolean!
|
Flag to record whether a Site record is setup to accept access control events at the Site. When set to true, the Site will be enabled for configuring Access Zones, and will also be enabled in monthly billing. Please note that if this value is set to false, the system will reject configured Access Zones for the site and the site will also not be included in monthly billing. |
isAnprEnabled - Boolean!
|
Flag to record whether a Site record is setup to accept ANPR events at the Site. When set to true, the Site will be enabled for configuring ANPR Settings, and will also be enabled in monthly billing. Please note that if this value is set to false, the site will not be included in monthly billing for ANPR. |
Example
{
"siteAccessZones": {"some_key": "Some Value", "another_key": "Another Value"},
"id": "some-id",
"displayName": "xyz789",
"isAccessControlEnabled": true,
"isAnprEnabled": false
}
UpdateTabletUserDetailsRequest
Description
UpdateTabletUserDetailsRequest will handle the input structure for updating the details of a tablet app user for an Organisation.
Example
{
"username": "abc123",
"siteID": "xyz789",
"emailAddress": "example@email.com"
}
UpdateTabletUserPasswordRequest
Description
UpdateTabletUserPasswordRequest will handle the input structure for updating the password of a tablet app user for an Organisation.
Example
{
"username": "abc123",
"hashedPassword": "88965bcc8ac1e2d3543b67559e9bd7ec3d38517f4255055f2019ec5d32960897479e31ede74273f5867ace37eb0daa1c601c1e635fc429fe28b7434e43b6fb04833b86a31a0d9da5036e429bef1194fed250ed467b00d8b93fe26dc49d0b4b0a353f46bf0238a0d5052bec6310d64be8c1dc5a3d8eb4f593f4408fae16262d8468536963a78cc31ff9de447d68edb837d845753e5595f5d00041e0dd6854c8fdcac56fa22267fd75917cfddd02b5bcaa"
}
UpdateUserPassAccessPermissionsRequest
Description
UpdateUserPassAccessPermissionsRequest will handle the input structure for updating access permission of an existing User Pass record for an organisation.
Fields
| Input Field | Description |
|---|---|
accessZones - Map!
|
A Map of access zones for the UserPass record to grant / deny the end-user access. Please note that setting 'all' within the Readers / AccessLevels lists will grant the UserPass record access to all sites / readers. If reader verification is not required (EG Nortech panel use-case) then you may omit this value from the request. AccessLevels may also be omitted from the request if the user should not be granted entry at any site. |
passType - String!
|
Field to record the type of pass associated with this UserPass record. This value can be set to 'digital', 'plastic', 'band' or 'card'. |
serialNumber - String!
|
The unique serial number of the end-users pass which should be related to the new UserPass record. |
allowedSites - [String]
|
Optional whitelist to restrict user access to particular sites. Please note that if these restrictions are not required, then you can omit the value from the request, set to an empty array ([]) or set to all access (['all']). If setting this value, please provide the Site ID value which matches an existing Organisation Site record. |
Example
{
"accessZones": {"some_key": "Some Value", "another_key": "Another Value"},
"passType": "xyz789",
"serialNumber": "110100000001",
"allowedSites": ["abc123"]
}
UpdateUserProfilePictureForTabletRequest
Description
UpdateUserProfilePictureForTabletRequest will handle the input structure for requesting to update a Profile Picture for a specified Access User record for Tablet.
Fields
| Input Field | Description |
|---|---|
externalReferenceID - String!
|
'ExternalReferenceID' field to upload Profile Picture for a given Access User record. The image will be linked to Access User record which match on the provided 'ExternalReferenceID' value. |
profilePicture - String!
|
New Profile Picture to be associated with a Access User record. This will be used to display a profile picture against an end-user within the Tablet Application. Please note that there is a 150kb max size limit on profile pictures and images should be Base64 Encoded prior to upload. To clear an existing profile picture please provide this value as an empty string (''). |
Example
{
"externalReferenceID": "ab12cd34ef56",
"profilePicture": "abc123"
}
UpdateUserProfilePictureRequest
Description
UpdateUserProfilePictureRequest will handle the input structure for requesting to update a Profile Picture for a specified Access User record.
Fields
| Input Field | Description |
|---|---|
serialNumber - String
|
Optional 'SerialNumber' field to upload Profile Picture to Access User record. Please note that either this value, or 'ExternalReferenceID' value should be used to link image to Access User record. When 'SerialNumber' is specified, this image will be linked to Access User record which has the 'SerialNumber' value. |
externalReferenceID - String
|
Optional 'ExternalReferenceID' field to upload Profile Picture to Access User record. Please note that either this value, or 'SerialNumber' value should be used to link image to Access User record. When 'ExternalReferenceID' is specified, this image will be linked to Access User record which match on the provided 'ExternalReferenceID' value. |
profilePicture - String!
|
New Profile Picture to be associated with a Access User record. This will be used to display a profile picture against an end-user within the Tablet Application. Please note that there is a 150kb max size limit on profile pictures and images should be Base64 Encoded prior to upload. To clear an existing profile picture please provide this value as an empty string (''). |
Example
{
"serialNumber": "110100000001",
"externalReferenceID": "ab12cd34ef56",
"profilePicture": "xyz789"
}
Upload
Description
Upload scalar used for single file uploads to a GraphQL endpoint (eg CSV / Image). Please see this StackOverflow post on how to use Postman to handle file uploads in GraphQL requests.
Example
Upload
UploadCarParkSettingsForSiteRequest
Description
UploadCarParkSettingsForSiteRequest will handle the input structure for requesting to upload new Car Park setting details for an Organisation's site.
Fields
| Input Field | Description |
|---|---|
carParkTimeLimit - Int!
|
The number of minutes that a vehicle is allowed to park for free in the car park on site. Example: 240 for 4 hours. |
maximumCarParkSpaces - Int!
|
The total number of car parking spaces located with the car park at a particular Site. |
parkingNotificationEmailAddresses - [String!]!
|
An array of email addresses for sending out parking notifications when a vehicle has exceeded the free Car Parking Time Limit. Please note that there is a maximum limit of 10 email addresses that can be configured for this. |
siteID - String!
|
The ID of the Site to be updated with new Car Park Settings. |
Example
{
"carParkTimeLimit": 42,
"maximumCarParkSpaces": 42,
"parkingNotificationEmailAddresses": [
"xyz789"
],
"siteID": "xyz789"
}
UploadDarkBrandingLogoRequest
Description
UploadDarkBrandingLogoRequest will control the input structure for a request to upload a new Dark Branding Logo for an Organisation.
Fields
| Input Field | Description |
|---|---|
file - Upload!
|
Dark Logo Image file for Organisation. This image should be a dark version of the org branding logo as it will be displayed within the Tablet application on a white background. Please note that there is a 32mb limit on file uploads. |
alt - String!
|
Alt text of organisation logo for accessibility (EG Screen readers). |
Example
{
"file": Upload,
"alt": "xyz789"
}
UploadOrgPurchaseOrderNumberRequest
Description
UploadOrgPurchaseOrderNumberRequest will control the input structure for uploading a new Purchase Order Number for including within an Organisation's Invoices.
Fields
| Input Field | Description |
|---|---|
purchaseOrderNumber - String!
|
The PO Number to be applied to an Organisation's account. Please note that this Purchase Order Number will appear within subsequent Invoices generated within the system. |
Example
{"purchaseOrderNumber": "xyz789"}
UploadPictureCSV
Description
UploadPictureCSV will handle the input structure for uploading a CSV file of Profile Picture records for creation.
Fields
| Input Field | Description |
|---|---|
file - Upload!
|
The file to upload as part of the request. Please note that there is a 32mb limit on CSV files, this will result in a maximum cap of around 213 profile pictures which can be uploaded in a single CSV (presuming all images are based on the max image size of 150kb). If the base64 images are smaller than 150kb, you will be able to upload more than 213 records per CSV. |
emailAddresses - [String!]!
|
List of email addresses to receive results of the batch request upon completion. Please note that there is a limit of 10 email addresses to receive results per request. |
Example
{
"file": Upload,
"emailAddresses": ["xyz789"]
}
UploadPictureCSVResponse
Description
UploadPictureCSVResponse will control the response structure when uploading a Profile Picture CSV file for import.
Example
{
"message": "Response message containing results of API request",
"batchID": "xyz789"
}
UploadUserAccessCSV
Description
UploadUserAccessCSV will handle the input structure for uploading a CSV file of User Access records for creation.
Fields
| Input Field | Description |
|---|---|
file - Upload!
|
The file to upload as part of the request. |
emailAddresses - [String!]!
|
List of email addresses to receive results of the batch request upon completion. Please note that there is a limit of 10 email addresses to receive results per request. |
Example
{
"file": Upload,
"emailAddresses": ["abc123"]
}
UploadUserAccessCSVResponse
Description
UploadUserAccessCSVResponse will control the response structure when uploading a User Access CSV file for import.
Example
{
"message": "Response message containing results of API request",
"batchID": "xyz789"
}
UserAccess
Description
UserAccess will handle the structure of an access record for an end-user when verifying access at swipe time.
Fields
| Field Name | Description |
|---|---|
accessZones - Map!
|
A Map of access zones for the UserAccess record to grant / deny the end-user access. Please note that setting 'all' within the Readers / AccessLevels lists will grant the user access record access to all sites / readers. If reader verification is not required (EG Nortech panel use-case) then you may omit this value from the request. AccessLevels may also be omitted from the request if the user should not be granted entry at any site. |
accountID - String!
|
Optional Account ID field to record the end-users account details against their UserAccess record for reporting purposes (EG Membership Number, Account Number, etc). This value may be left blank if not required by Organisation. |
activationDate - Time
|
Optional activation date to specify what point in time should the UserAccess record should be granted access. This value will be null when there is no activation time set for the User Access record (EG access granted immediately). |
created - Time!
|
Created timestamp of when the UserAccess record was first registered within the platform. |
creator - String!
|
The email address of the system user who first created the UserAccess record within the platform. |
dateOfBirth - String!
|
Optional field to record the end-users date of birth against their UserAccess record for reporting purposes. This value may be left blank if not required by Organisation. |
expiryDate - Time
|
Optional expiry date to specify when an end-users access should be automatically revoked. This may be set to null if it is a long running pass without an expiry set (EG membership pass). |
externalReferenceID - String!
|
Required field to record the end-users External Reference ID against their UserAccess record for reporting purposes. Please note this value should represent the unique Customer ID value as defined by your organisations external system. |
firstName - String!
|
Optional field to record the end-users first name against their UserAccess record for reporting purposes. This value may be left blank if not required by Organisation. |
homeSite - String!
|
Optional field to record the end-users home site against their UserAccess record for reporting purposes. This value may be left blank if not required by Organisation. If setting this value, this will be verified against Site ID values configured for the Organisation. |
latestJoinDate - String!
|
Optional field to record the end-users Latest Join Date against their UserAccess record for reporting purposes. This value may be left blank if not required by Organisation. |
lastModified - Time!
|
Last Modified timestamp of when the UserAccess record was last updated within the platform. |
lastName - String!
|
Optional field to record the end-users last name against their UserAccess record for reporting purposes. This value may be left blank if not required by Organisation. |
lastImageSyncTimestamp - Time
|
Optional field to record when the record last synced the most recent profile picture for the UserAccess record. |
modifier - String!
|
The email address of the system user who last modified the UserAccess record within the platform. |
packageName - String!
|
Optional field to record the end-users package name against their UserAccess record for reporting purposes. This value may be left blank if not required by Organisation. |
packageCategory - String!
|
Optional field to record the end-users package category against their UserAccess record for reporting purposes. This value may be left blank if not required by Organisation. |
passType - String!
|
Field to record the type of pass associated with this User Access record. This value can be set to 'digital', 'plastic', 'band' or 'card'. |
postCode - String!
|
Optional field to record the end-users post code against their UserAccess record for reporting purposes. This value may be left blank if not required by Organisation. |
profilePicture - String
|
Optional field for recording a Profile Picture against a User Access record. This will be used to display a profile picture against an end-user within the Tablet Application. Please note that there is a 150kb max size limit on profile pictures. If pictures are not required, then you may omit this value from the request, or set to an empty string (''). |
serialNumber - String!
|
The unique serial number of the end-users pass which relates to their UserAccess record. |
serialNumberInt - Int!
|
The unique serial number of the end-users pass which has been converted to an integer. This value is used by systems with variable card number lengths. |
accessLevelList - [String!]!
|
A list of AccessLevels which the user has been assigned permissions. Please note that this may be set to 'all' when the user has access to all sites. This value is automatically generated by the system based on the AccessZone values configured for the UserAccess record. |
allowedSites - [String]
|
Optional whitelist to restrict user access to particular sites. Please note that if these restrictions are not required, then you can omit the value from the request, set to an empty array ([]) or set to all access (['all']). If setting this value, please provide the Site ID value which matches an existing Organisation Site record. |
Example
{
"accessZones": {"some_key": "Some Value", "another_key": "Another Value"},
"accountID": "abc123",
"activationDate": "2024-03-23T17:21:00Z",
"created": "2024-03-23T17:21:00Z",
"creator": "example@email.com",
"dateOfBirth": "abc123",
"expiryDate": "2024-03-23T17:21:00Z",
"externalReferenceID": "ab12cd34ef56",
"firstName": "xyz789",
"homeSite": "xyz789",
"latestJoinDate": "xyz789",
"lastModified": "2024-03-23T17:21:00Z",
"lastName": "xyz789",
"lastImageSyncTimestamp": "2024-03-23T17:21:00Z",
"modifier": "example@email.com",
"packageName": "xyz789",
"packageCategory": "abc123",
"passType": "xyz789",
"postCode": "xyz789",
"profilePicture": "xyz789",
"serialNumber": "110100000001",
"serialNumberInt": 42,
"accessLevelList": ["xyz789"],
"allowedSites": ["abc123"]
}
UserPass
Description
UserPass will handle the structure of an user pass generated for an access user record (end-user) when verifying access at swipe time.
Fields
| Field Name | Description |
|---|---|
accessZones - Map!
|
A Map of access zones for the UserPass record to grant / deny the end-user access. Please note that setting 'all' within the Readers / AccessLevels lists will grant the user access record access to all sites / readers. If reader verification is not required (EG Nortech panel use-case) then you may omit this value from the request. AccessLevels may also be omitted from the request if the user should not be granted entry at any site. |
activationDate - Time
|
Optional activation date to specify what point in time should the UserPass record should be granted access. This value will be null when there is no activation time set for the User Access record (EG access granted immediately). |
created - Time!
|
Created timestamp of when the UserPass record was first registered within the platform. |
creator - String!
|
The email address of the system user who first created the UserPass record within the platform. |
expiryDate - Time
|
Optional expiry date to specify when an end-users access should be automatically revoked. This may be set to null if it is a long running pass without an expiry set (EG membership pass). |
externalReferenceID - String!
|
Required field to record the end-users External Reference ID against their UserPass record for reporting purposes. This value will represent the unique Customer ID value as defined by your organisations external system. |
firstName - String!
|
Field to record the end-users first name against their UserPass record for reporting purposes. |
lastModified - Time!
|
Last Modified timestamp of when the UserPass record was last updated within the platform. |
lastName - String!
|
Field to record the end-users last name against their UserPass record for reporting purposes. |
modifier - String!
|
The email address of the system user who last modified the UserPass record within the platform. |
passType - String!
|
Field to record the type of pass associated with this User Access record. This value can be set to 'digital', 'plastic', 'band' or 'card'. |
hasProfilePicture - Boolean
|
Optional field for recording a if a User Pass record has a Profile Picture. This will be used to display a profile picture against an end-user within the Tablet Application. Please note that there is a 150kb max size limit on profile pictures. |
serialNumber - String!
|
The unique serial number of the end-users pass which relates to their UserPass record. |
serialNumberInt - Int!
|
The unique serial number of the end-users pass which has been converted to an integer. This value is used by systems with variable card number lengths. |
accessLevelList - [String!]!
|
A list of AccessLevels which the user has been assigned permissions. Please note that this may be set to 'all' when the user has access to all sites. This value is automatically generated by the system based on the AccessZone values configured for the UserPass record. |
allowedSites - [String]
|
Optional whitelist to restrict user access to particular sites. Please note that if these restrictions are not required, then you can omit the value from the request, set to an empty array ([]) or set to all access (['all']). If setting this value, please provide the Site ID value which matches an existing Organisation Site record. |
Example
{
"accessZones": {"some_key": "Some Value", "another_key": "Another Value"},
"activationDate": "2024-03-23T17:21:00Z",
"created": "2024-03-23T17:21:00Z",
"creator": "example@email.com",
"expiryDate": "2024-03-23T17:21:00Z",
"externalReferenceID": "ab12cd34ef56",
"firstName": "abc123",
"lastModified": "2024-03-23T17:21:00Z",
"lastName": "xyz789",
"modifier": "example@email.com",
"passType": "abc123",
"hasProfilePicture": false,
"serialNumber": "110100000001",
"serialNumberInt": 42,
"accessLevelList": ["xyz789"],
"allowedSites": ["xyz789"]
}