Breezin Access Control REST API documentation

Download OpenAPI specification:

Welcome to the Breezin Access Control REST API documentation. Here you will find the available endpoint definitions for interacting with our system.

Bearer token used to authenticate API REST endpoints. Please provide this token in the HTTP Headers as a Bearer token with any request sent to Breezin Access Control.

Example: Authorization: Bearer <YOUR_TOKEN_HERE>

accessLevels

CreateAccessLevel

This API can be used to Create AccessLevel records for an Organisation to control access permissions for a Site.

Request Body schema: application/json
required

model.CreateAccessLevelRequest

description
string

Description of the usage of an AccessLevel record within the platform.

displayName
string

Human-readable Display name for the Access Level.

title
string

Title of the AccessLevel record to be created in the Cloud DB.

Responses

Request samples

Content type
application/json
{
  • "description": "This is a Platinum Access Level with access level code 10",
  • "displayName": "Platinum",
  • "title": "Platinum"
}

Response samples

Content type
application/json
"string"

GetAccessLevelByTitle

This API can be used to Get AccessLevel records for an Organisation.

Request Body schema: application/json
required

model.GetAccessLevelByTitleRequest

title
string

Title value for searching the Cloud DB for any Access Levels created with the specified title.

Responses

Request samples

Content type
application/json
{
  • "title": "Platinum"
}

Response samples

Content type
application/json
{
  • "created": "2024-03-13T07:42:42.472468Z",
  • "creator": "john.smith@breezin.io",
  • "description": "This is a Platinum Access Level with access level code 10",
  • "displayName": "Platinum",
  • "lastModified": "2024-03-13T07:42:42.472468Z",
  • "modifier": "john.smith@breezin.io",
  • "title": "Platinum"
}

GetPaginatedAccessLevels

This API can be used to Get paginated AccessLevel records for an Organisation.

Request Body schema: application/json
required

model.PaginatedAccessLevelsRequest

batchSize
integer

batchSize controls the number of items which will be returned in the pagination request. EG 10

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.

lastModifiedDate
string

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.

Responses

Request samples

Content type
application/json
{
  • "batchSize": 10,
  • "lastDocID": "Last Doc ID",
  • "lastModifiedDate": "2024-03-13T07:42:42.472468Z"
}

Response samples

Content type
application/json
{
  • "accessLevels": [
    ],
  • "lastDocID": "Last Doc ID",
  • "lastModifiedDate": "2024-03-13T07:42:42.472468Z"
}

UpdateAccessLevel

This API can be used to Update AccessLevel records for an Organisation.

Request Body schema: application/json
required

model.UpdateAccessLevelRequest

description
string

Updated description field for setting on an existing Access Level record to track the usage of the AccessLevel within the platform.

displayName
string

Human-readable Display name for the Access Level.

title
string

Title of the AccessLevel record to be updated in the Cloud DB.

Responses

Request samples

Content type
application/json
{
  • "description": "This is a Platinum Access Level with access level code 10",
  • "displayName": "Platinum",
  • "title": "Platinum"
}

Response samples

Content type
application/json
"string"

accessLogs

GenerateAllSitesReport

This API can be used to generate an Access Log report for all sites. Please note that there is a maximum reporting period of 3 days for AllSites reporting.

Request Body schema: application/json
required

model.GenerateAccessLogReportForAllSitesRequest

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.

emailAddresses
Array of strings

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.

endTime
string

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.

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.

reportType
string

The type of the report to generate. Available options are: SiteDateRange, SiteDateRangeForSerialNumber, SiteDateRangeForExternalRefID, and SiteDateRangeForAccessZone.

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.

startTime
string

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.

Responses

Request samples

Content type
application/json
{
  • "accessZone": "Spa",
  • "emailAddresses": [
    ],
  • "endTime": "2024-03-13T07:42:42.472468Z",
  • "externalReferenceID": "65136251",
  • "reportType": "SiteDateRange",
  • "serialNumber": "000100000001",
  • "startTime": "2024-03-13T07:42:42.472468Z"
}

Response samples

Content type
application/json
{
  • "message": "Generate reporting request has been uploaded successfully. We will notify you by email once it has been processed.",
  • "reportID": "<Random generated unique Report ID>"
}

GenerateSiteReport

This API can be used to generate an Access Log Site Report. Please note that there is a maximum reporting period of 3 months for this reporting option.

Request Body schema: application/json
required

model.GenerateSiteAccessLogReportRequest

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.

emailAddresses
Array of strings

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.

endTime
string

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.

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.

reportType
string

The type of the report to generate. Available options are: SiteDateRange, SiteDateRangeForSerialNumber, SiteDateRangeForExternalRefID, and SiteDateRangeForAccessZone.

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.

siteID
string

The ID of the Site for report generation.

startTime
string

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.

Responses

Request samples

Content type
application/json
{
  • "accessZone": "Spa",
  • "emailAddresses": [
    ],
  • "endTime": "2024-03-13T07:42:42.472468Z",
  • "externalReferenceID": "65136251",
  • "reportType": "SiteDateRange",
  • "serialNumber": "000100000001",
  • "siteID": "Dundee",
  • "startTime": "2024-03-13T07:42:42.472468Z"
}

Response samples

Content type
application/json
{
  • "message": "Generate reporting request has been uploaded successfully. We will notify you by email once it has been processed.",
  • "reportID": "<Random generated unique Report ID>"
}

GenerateUserReport

This API can be used to generate an Access Log User Report. Please note that there is a maximum reporting period of 3 months for this reporting option.

Request Body schema: application/json
required

model.GenerateUserAccessLogReportRequest

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.

emailAddresses
Array of strings

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.

endTime
string

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.

reportType
string

The type of the report to generate. Available options are: UserDateRange, UserDateRangeForSite and UserDateRangeForAccessZone.

serialNumber
string

The Serial Number of the end-users pass for report generation.

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.

startTime
string

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.

Responses

Request samples

Content type
application/json
{
  • "accessZone": "Spa",
  • "emailAddresses": [
    ],
  • "endTime": "2024-03-13T07:42:42.472468Z",
  • "reportType": "SiteDateRange",
  • "serialNumber": "000100000001",
  • "siteID": "Dundee",
  • "startTime": "2024-03-13T07:42:42.472468Z"
}

Response samples

Content type
application/json
{
  • "message": "Generate reporting request has been uploaded successfully. We will notify you by email once it has been processed.",
  • "reportID": "<Random generated unique Report ID>"
}

accessUsers

CreateAccessUserRecord

This API can be used to Create a new Access User Record.

Request Body schema: application/json
required

model.CreateAccessUserRequest

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.

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.

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

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.

lastName
string

Field to record the end-users last name against their AccessUser record for reporting purposes.

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.

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.

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.

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.

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.

Responses

Request samples

Content type
application/json
{
  • "accountID": "6516514",
  • "dateOfBirth": "01/01/1984",
  • "emailAddress": "some1@email.com",
  • "externalReferenceID": "6516514653",
  • "firstName": "John",
  • "homeSite": "Dundee",
  • "lastName": "Smith",
  • "latestJoinDate": "01/01/1984",
  • "packageCategory": "Platinum",
  • "packageName": "General Membership",
  • "phoneNumber": "1234567890",
  • "postCode": "DD11DD"
}

Response samples

Content type
application/json
"string"

FetchAccessUserBySerial

This API can be used to Get an existing Access User Record by Serial Number of a User Pass.

Request Body schema: application/json
required

model.FetchAccessUserBySerialRequest

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.

Responses

Request samples

Content type
application/json
{
  • "serialNumber": "example:Last Doc ID"
}

Response samples

Content type
application/json
{
  • "accountID": "6516514",
  • "created": "2024-03-13T07:42:42.472468Z",
  • "creator": "john.smith@breezin.io",
  • "dateOfBirth": "01/01/1984",
  • "emailAddress": "some1@email.com",
  • "externalReferenceID": "6516514653",
  • "firstName": "John",
  • "hasProfilePicture": false,
  • "homeSite": "Dundee",
  • "lastImageSyncTimestamp": "2024-03-13T07:42:42.472468Z",
  • "lastModified": "2024-03-13T07:42:42.472468Z",
  • "lastName": "Smith",
  • "lastPictureNotification": "2024-03-13T07:42:42.472468Z",
  • "latestJoinDate": "01/01/1984",
  • "modifier": "john.smith@breezin.io",
  • "packageCategory": "Platinum",
  • "packageName": "General Membership",
  • "phoneNumber": "1234567890",
  • "postCode": "DD11DD",
  • "serialNumberDetails": [
    ],
  • "serialNumberIntList": [
    ],
  • "serialNumberList": [
    ]
}

FetchPaginatedAccessUsers

This API can be used to fetch paginated Access User Records.

Request Body schema: application/json
required

model.FetchPaginatedAccessUsersRequest

batchSize
integer

Batch size value to control the number of records returned in the pagination batch.

endTime
string

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.

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
string

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.

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'.

startTime
string

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.

Responses

Request samples

Content type
application/json
{
  • "batchSize": 20,
  • "endTime": "2024-03-13T07:42:42.472468Z",
  • "homeSite": "Dundee",
  • "lastDocID": "Last Doc ID",
  • "lastModifiedTimestamp": "2024-03-13T07:42:42.472468Z",
  • "packageName": "General Membership",
  • "startTime": "2024-03-13T07:42:42.472468Z"
}

Response samples

Content type
application/json
{
  • "accessUserRecords": [
    ],
  • "lastDocID": "Last Doc ID",
  • "lastModifiedTimestamp": "2024-03-13T07:42:42.472468Z"
}

GetAccessUserByExternalRefID

This API can be used to Get an existing Access User Record by External Reference ID.

Request Body schema: application/json
required

model.GetAccessUserByExternalRefIdRequest

externalReferenceID
string

Search value for matching AccessUser record which are assigned a specific External Reference ID value.

Responses

Request samples

Content type
application/json
{
  • "externalReferenceID": "6516514653"
}

Response samples

Content type
application/json
{
  • "accountID": "6516514",
  • "created": "2024-03-13T07:42:42.472468Z",
  • "creator": "john.smith@breezin.io",
  • "dateOfBirth": "01/01/1984",
  • "emailAddress": "some1@email.com",
  • "externalReferenceID": "6516514653",
  • "firstName": "John",
  • "hasProfilePicture": false,
  • "homeSite": "Dundee",
  • "lastImageSyncTimestamp": "2024-03-13T07:42:42.472468Z",
  • "lastModified": "2024-03-13T07:42:42.472468Z",
  • "lastName": "Smith",
  • "lastPictureNotification": "2024-03-13T07:42:42.472468Z",
  • "latestJoinDate": "01/01/1984",
  • "modifier": "john.smith@breezin.io",
  • "packageCategory": "Platinum",
  • "packageName": "General Membership",
  • "phoneNumber": "1234567890",
  • "postCode": "DD11DD",
  • "serialNumberDetails": [
    ],
  • "serialNumberIntList": [
    ],
  • "serialNumberList": [
    ]
}

UpdateAccessUserDetails

This API can be used to Update an existing Access User Record.

Request Body schema: application/json
required

model.UpdateAccessUserDetailsRequest

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.

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.

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.

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.

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.

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.

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.

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.

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.

Responses

Request samples

Content type
application/json
{
  • "accountID": "6516514",
  • "dateOfBirth": "01/01/1984",
  • "emailAddress": "some1@email.com",
  • "externalReferenceID": "6516514653",
  • "firstName": "John",
  • "homeSite": "Dundee",
  • "lastName": "Smith",
  • "latestJoinDate": "01/01/1984",
  • "packageCategory": "Platinum",
  • "packageName": "General Membership",
  • "phoneNumber": "1234567890",
  • "postCode": "DD11DD"
}

Response samples

Content type
application/json
"string"

billing

FetchPaginatedInvoices

This API can be used to Fetch Paginated Invoice records from the Cloud DB.

Request Body schema: application/json
required

model.PaginatedInvoicesRequest

batchSize
integer

batchSize controls the number of items which will be returned in the pagination request. EG 10

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.

lastStartDate
string

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.

Responses

Request samples

Content type
application/json
{
  • "batchSize": 10,
  • "lastDocID": "Last Doc ID",
  • "lastStartDate": "2024-04-01T11:00:00Z"
}

Response samples

Content type
application/json
{
  • "invoices": [
    ],
  • "lastDocID": "Last Doc ID",
  • "lastStartDate": "2024-04-01T11:00:00Z"
}

FetchPaginatedPayments

This API can be used to Fetch Paginated Payments records from the Cloud DB.

Request Body schema: application/json
required

model.GetPaginatedPaymentsRequest

batchSize
integer

batchSize controls the number of items which will be returned in the pagination request. EG 10

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.

lastPaymentDate
string

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.

Responses

Request samples

Content type
application/json
{
  • "batchSize": 10,
  • "lastDocID": "Last Doc ID",
  • "lastPaymentDate": "2024-03-13T07:42:42.472468Z"
}

Response samples

Content type
application/json
{
  • "lastDocID": "Last Doc ID",
  • "lastPaymentDate": "2024-03-13T07:42:42.472468Z",
  • "payment": [
    ]
}

organisation

RegenerateApiToken

This API can be used to Regenerate Api Token for the Org.

Request Body schema: application/json
required

model.RegenerateApiTokenRequest

object (model.RegenerateApiTokenRequest)

Responses

Request samples

Content type
application/json
{ }

Response samples

Content type
application/json
{
  • "apiToken": "API_TOKEN"
}

UpdateOrgAccessZones

This API can be used to Update the Access Zones for the Org. 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."

Request Body schema: application/json
required

model.UpdateOrgAccessZonesRequest

accessZoneList
Array of strings

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.

Responses

Request samples

Content type
application/json
{
  • "accessZoneList": [
    ]
}

Response samples

Content type
application/json
"string"

UploadDarkBrandingLogo

This API can be used to upsert a Dark Branding Logo file for an Org to the Cloud DB. Please note that this endpoint will update any existing Logo images. Please make sure to name the Image file as 0 in the request. There is a 32mb limit on image upload.

Request Body schema: multipart/form-data
required
0
required
string <binary>

Image File

alt
required
string

Alt image name

Responses

Response samples

Content type
application/json
"string"

UploadOrgPurchaseOrderNumber

This API can be used to upload Purchase Order Number for a given Organisation."

Request Body schema: application/json
required

model.UploadOrgPurchaseOrderNumberRequest

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.

Responses

Request samples

Content type
application/json
{
  • "purchaseOrderNumber": "PO111111"
}

Response samples

Content type
application/json
"string"

parking

CreateCamera

This API can be used to create a new Camera.

Request Body schema: application/json
required

model.CreateCameraRequest

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.

title
string

A title for the new ANPR Camera record to be created for an Organisation.

Responses

Request samples

Content type
application/json
{
  • "direction": "entry",
  • "serial": "AB12CD34EF56",
  • "siteID": "Dundee",
  • "title": "dundee-spa-camera"
}

Response samples

Content type
application/json
"string"

CreateCameraServer

This API can be used to create a new Camera Server.

Request Body schema: application/json
required

model.CreateCameraServerRequest

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.

Responses

Request samples

Content type
application/json
{
  • "cameraServerName": "dundee-camera-server",
  • "ipAddress": "192.0.0.1",
  • "siteID": "Dundee"
}

Response samples

Content type
application/json
"string"

FetchCarParkSettingsForSite

FetchCarParkSettingsForSite

Request Body schema: application/json
required

FetchCarParkSettingsForSiteRequest

siteID
string

The ID of the Site where the new ANPR Camera Server will be located.

Responses

Request samples

Content type
application/json
{
  • "siteID": "Dundee"
}

Response samples

Content type
application/json
{
  • "carParkTimeLimit": 60,
  • "created": "2024-03-13T07:42:42.472468Z",
  • "creator": "john@breezin.io",
  • "lastModified": "2024-03-13T07:42:42.472468Z",
  • "maximumCarParkSpaces": 100,
  • "modifier": "john@breezin.io",
  • "parkingNotificationEmailAddresses": [
    ]
}

GenerateAllSitesVehicleAccessLogReport

This API can be used to generate a vehicle access log report for all sites with provided optional filters. Please note that there is a maximum reporting period of 3 days for AllSites reporting.

Request Body schema: application/json
required

rest.GenerateVehicleAccessLogReportForAllSitesRequest

emailAddresses
Array of strings

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.

endTime
string

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.

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.

startTime
string

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.

Responses

Request samples

Content type
application/json
{
  • "emailAddresses": [
    ],
  • "endTime": "2024-03-12T07:42:42.472468Z",
  • "registrationNumber": "AB123CD",
  • "startTime": "2024-03-12T07:42:42.472468Z"
}

Response samples

Content type
application/json
{
  • "message": "Generate reporting request has been uploaded successfully. We will notify you by email once it has been processed.",
  • "reportID": "<Random generated unique Report ID>"
}

GenerateAllSitesVehicleSwipeLogReport

This API can be used to generate a vehicle swipe log report for all sites with provided optional filters. Please note that there is a maximum reporting period of 3 days for AllSites reporting.

Request Body schema: application/json
required

rest.GenerateVehicleSwipeLogReportForAllSitesRequest

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.

emailAddresses
Array of strings

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.

endTime
string

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.

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.

startTime
string

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.

Responses

Request samples

Content type
application/json
{
  • "accessLogGenerated": true,
  • "emailAddresses": [
    ],
  • "endTime": "2024-03-13T07:42:42.472468Z",
  • "gateDirection": "entry",
  • "registrationNumber": "AB123CD",
  • "startTime": "2024-03-12T07:42:42.472468Z"
}

Response samples

Content type
application/json
{
  • "message": "Generate reporting request has been uploaded successfully. We will notify you by email once it has been processed.",
  • "reportID": "<Random generated unique Report ID>"
}

GenerateSiteVehicleAccessLogReport

This API can be used to generate a vehicle access log report for a site with provided optional filters. Please note that there is a maximum reporting period of 3 months for this reporting option.

Request Body schema: application/json
required

rest.GenerateSiteVehicleAccessLogReportRequest

emailAddresses
Array of strings

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.

endTime
string

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.

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.

siteID
string

The ID of the Site for report generation.

startTime
string

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.

Responses

Request samples

Content type
application/json
{
  • "emailAddresses": [
    ],
  • "endTime": "2024-03-12T07:42:42.472468Z",
  • "registrationNumber": "AB123CD",
  • "siteID": "Dundee",
  • "startTime": "2024-03-12T07:42:42.472468Z"
}

Response samples

Content type
application/json
{
  • "message": "Generate reporting request has been uploaded successfully. We will notify you by email once it has been processed.",
  • "reportID": "<Random generated unique Report ID>"
}

GenerateSiteVehicleSwipeLogReport

This API can be used to generate a vehicle swipe log report for a site with provided optional filters. Please note that there is a maximum reporting period of 3 months for this reporting option.

Request Body schema: application/json
required

rest.GenerateSiteVehicleSwipeLogReportRequest

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.

emailAddresses
Array of strings

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.

endTime
string

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.

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.

siteID
string

The ID of the Site for report generation.

startTime
string

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.

Responses

Request samples

Content type
application/json
{
  • "accessLogGenerated": true,
  • "emailAddresses": [
    ],
  • "endTime": "2024-03-13T07:42:42.472468Z",
  • "gateDirection": "entry",
  • "registrationNumber": "AB123CD",
  • "siteID": "Dundee",
  • "startTime": "2024-03-12T07:42:42.472468Z"
}

Response samples

Content type
application/json
{
  • "message": "Generate reporting request has been uploaded successfully. We will notify you by email once it has been processed.",
  • "reportID": "<Random generated unique Report ID>"
}

GetCameraBySerial

This API can be used to retrieve an existing Camera.

Request Body schema: application/json
required

model.GetCameraBySerialRequest

serial
string

The unique serial number (mac address) of the ANPR Camera to be retrieved from the Cloud DB.

Responses

Request samples

Content type
application/json
{
  • "serial": "AB12CD34EF56"
}

Response samples

Content type
application/json
{
  • "created": "2024-03-13T07:42:42.472468Z",
  • "creator": "john.smith@breezin.io",
  • "direction": "entry",
  • "lastModified": "2024-03-13T07:42:42.472468Z",
  • "modifier": "john.smith@breezin.io",
  • "serial": "34262452345",
  • "siteID": "Dundee_West",
  • "title": "dundee-entry-camera"
}

GetCameraServerByTitle

This API can be used to get a Camera Server by Title.

Request Body schema: application/json
required

rest.GetCameraServerByTitleRequest

title
string

The name of the On-Site ANPR Camera Server to search for within the Cloud DB.

Responses

Request samples

Content type
application/json
{
  • "title": "dundee-camera-server"
}

Response samples

Content type
application/json
{
  • "accessToken": "<Access_Token>",
  • "apiAccessToken": "<API_Access_Token>",
  • "created": "2024-03-13T07:42:42.472468Z",
  • "creator": "john.smith@breezin.io",
  • "ipAddress": "<IP_Address>",
  • "lastHealthCheck": "2024-03-13T07:42:42.472468Z",
  • "lastModified": "2024-03-13T07:42:42.472468Z",
  • "lastReportedVersion": "v0.0.1",
  • "modifier": "john.smith@breezin.io",
  • "siteID": "Dundee_West",
  • "title": "dundee-spa-camera-server"
}

GetCamerasForSite

GetCamerasForSite

Request Body schema: application/json
required

GetCamerasForSiteRequest

siteID
string

The ID of the Site to search and retrieve associated ANPR Camera records.

Responses

Request samples

Content type
application/json
{
  • "siteID": "Dundee"
}

Response samples

Content type
application/json
{
  • "cameraRecords": [
    ]
}

RegenerateCameraServerAccessToken

This API can be used to regenerate the Access Token for an Organisation's Camera Server.

Request Body schema: application/json
required

rest.RegenerateCameraServerAccessTokenRequest

cameraServerName
string

The name of the On-Site ANPR Camera Server to be updated with a new Access Token.

Responses

Request samples

Content type
application/json
{
  • "cameraServerName": "dundee-camera-server"
}

Response samples

Content type
application/json
"string"

UpdateCamera

This API can be used to update an existing Camera.

Request Body schema: application/json
required

model.UpdateCameraRequest

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.

serial
string

Optional value to update the unique serial number (mac address) of the ANPR Camera to be updated for an Organisation. 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.

title
string

The unique title associated with the Organisation's ANPR Camera.

Responses

Request samples

Content type
application/json
{
  • "direction": "entry",
  • "serial": "AB12CD34EF56",
  • "siteID": "Dundee",
  • "title": "Spa Entry Camera"
}

Response samples

Content type
application/json
"string"

UpdateCameraServer

This API can be used to update a Camera Server.

Request Body schema: application/json
required

model.UpdateCameraServerRequest

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.

title
string

The name of the ANPR Camera Server to be updated for an Organisation.

Responses

Request samples

Content type
application/json
{
  • "ipAddress": "192.0.0.1",
  • "siteID": "Dundee",
  • "title": "dundee-camera-server"
}

Response samples

Content type
application/json
"string"

UploadCarParkSettingsForSite

This API can be used to upload new Car Park settings for a Site.

Request Body schema: application/json
required

model.UploadCarParkSettingsForSiteRequest

carParkTimeLimit
integer

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
integer

The total number of car parking spaces located with the car park at a particular Site.

parkingNotificationEmailAddresses
Array of strings

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.

Responses

Request samples

Content type
application/json
{
  • "carParkTimeLimit": 240,
  • "maximumCarParkSpaces": 100,
  • "parkingNotificationEmailAddresses": [
    ],
  • "siteID": "Dundee"
}

Response samples

Content type
application/json
"string"

profilePictures

FetchPictureBatchRequestByID

This API can be used to fetch Batch Picture Request details by its ID.

Request Body schema: application/json
required

model.FetchPictureBatchRequestByIdRequest

batchID
string

Unique ID of the BatchPictureRequest to fetch from the Cloud DB.

Responses

Request samples

Content type
application/json
{
  • "batchID": "Niungkljk"
}

Response samples

Content type
application/json
{}

GetProfilePicForExternalRefID

This API can be used to Get Profile Picture for an existing Access User Record.

Request Body schema: application/json
required

model.GetProfilePicForExternalRefIdRequest

externalReferenceID
string

The External Reference ID of the Access User record for retrieving the member's Profile Picture.

Responses

Request samples

Content type
application/json
{
  • "externalReferenceID": "6516514653"
}

Response samples

Content type
application/json
{
  • "aHash": "Generated A hash value for the profile picture image",
  • "dHash": "Generated D hash value for the profile picture image",
  • "externalReferenceID": "6516514653",
  • "imageAccepted": true,
  • "lastModified": "2024-03-13T07:42:42.472468Z",
  • "modifier": "john.smith@breezin.io",
  • "pHash": "Generated P hash value for the profile picture image",
  • "profilePicture": "Base 64 encoded string value of the profile picture",
  • "source": "External"
}

GetProfilePicForSerial

This API can be used to Get Profile Picture for an existing Access User Record.

Request Body schema: application/json
required

model.GetProfilePicForSerialRequest

serialNumber
string

The Serial Number of the pass for the Access User record for retrieving the member's Profile Picture.

Responses

Request samples

Content type
application/json
{
  • "serialNumber": "000100000001"
}

Response samples

Content type
application/json
{
  • "aHash": "Generated A hash value for the profile picture image",
  • "dHash": "Generated D hash value for the profile picture image",
  • "externalReferenceID": "6516514653",
  • "imageAccepted": true,
  • "lastModified": "2024-03-13T07:42:42.472468Z",
  • "modifier": "john.smith@breezin.io",
  • "pHash": "Generated P hash value for the profile picture image",
  • "profilePicture": "Base 64 encoded string value of the profile picture",
  • "source": "External"
}

RemoveUserProfilePicture

This API can be used to Remove Profile Picture for an existing Access User Record.

Request Body schema: application/json
required

model.RemoveUserProfilePictureRequest

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 all Access User record which match on the provided 'ExternalReferenceID' value.

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 the single Access User record which matches on the 'SerialNumber' value.

Responses

Request samples

Content type
application/json
{
  • "externalReferenceID": "6516514653",
  • "serialNumber": "000100000001"
}

Response samples

Content type
application/json
"string"

UpdateUserProfilePicture

This API can be used to Update Profile Picture for an existing Access User Record.

Request Body schema: application/json
required

model.UpdateUserProfilePictureRequest

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 all 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 ('').

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 the single Access User record which matches on the 'SerialNumber' value.

Responses

Request samples

Content type
application/json
{
  • "externalReferenceID": "6516514653",
  • "profilePicture": "Base 64 encoded string value of the profile picture",
  • "serialNumber": "000100000001"
}

Response samples

Content type
application/json
"string"

UploadProfilePictureCSV

This API can be used to upsert a CSV file of Profile Picture Records to the Cloud DB. Please make sure to name the CSV file as 0 in 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.

Request Body schema: multipart/form-data
required
0
required
string <binary>

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
required
string

List of email addresses to receive results of the batch request upon completion. Please note that there is a limit of 10 email addressed to receive per request.

Responses

Response samples

Content type
application/json
{
  • "batchID": "string",
  • "message": "string"
}

readers

CreateCardReader

This API can be used to Create a new Card Reader.

Request Body schema: application/json
required

model.CreateCardReaderRequest

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
integer

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

Responses

Request samples

Content type
application/json
{
  • "accessZoneName": "Spa",
  • "direction": "exit",
  • "pulseTime": 5,
  • "readerName": "dundee-spa-reader-1",
  • "siteID": "Dundee"
}

Response samples

Content type
application/json
"string"

FetchPaginatedCardReaderErrors

This API can be used to Fetch Paginated list of Card Reader Errors for a specific Card Reader.

Request Body schema: application/json
required

model.FetchPaginatedCardReaderErrorsRequest

batchSize
integer

Batch size value to control the number of records returned in the pagination batch. Please note that there is a maximum limit of 1000 for this batch size.

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
string

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.

readerTitle
string

The title of the Card Reader instance to retrieve a paginated list of errors.

Responses

Request samples

Content type
application/json
{
  • "batchSize": 20,
  • "lastDocID": "Last Doc ID",
  • "lastUploadTimestamp": "2024-03-13T07:42:42.472468Z",
  • "readerTitle": "dundee-spa-reader-1"
}

Response samples

Content type
application/json
{
  • "lastDocID": "Last Doc ID",
  • "lastUploadTimestamp": "2024-03-13T07:42:42.472468Z",
  • "readerErrors": [
    ]
}

FetchPaginatedCardReaders

This API can be used to Fetch Paginated Card Readers.

Request Body schema: application/json
required

model.PaginatedCardReaderRequest

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'.

batchSize
integer

Batch size value to control the number of records returned in the pagination batch.

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'.

endTime
string

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.

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
string

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.

startTime
string

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.

Responses

Request samples

Content type
application/json
{
  • "accessZoneName": "Spa",
  • "batchSize": 10,
  • "direction": "entry",
  • "endTime": "2024-03-13T07:42:42.472468Z",
  • "lastDocID": "Last Doc ID",
  • "lastModifiedTimestamp": "2024-03-13T07:42:42.472468Z",
  • "startTime": "2024-03-13T07:42:42.472468Z"
}

Response samples

Content type
application/json
{
  • "cardReaderRecords": [
    ],
  • "lastDocID": "Last Doc ID",
  • "lastModifiedTimestamp": "2024-03-13T07:42:42.472468Z"
}

GetCardReaderByTitle

This API can be used to Fetch Card Reader by its Name.

Request Body schema: application/json
required

model.GetReaderByTitleRequest

readerTitle
string

The title of the Card Reader to fetch from the Cloud DB.

Responses

Request samples

Content type
application/json
{
  • "readerTitle": "dundee-spa-reader-1"
}

Response samples

Content type
application/json
{
  • "accessToken": "ACCESS_TOKEN",
  • "accessZoneName": "Spa",
  • "created": "2024-03-13T07:42:42.472468Z",
  • "creator": "john.smith@breezin.io",
  • "direction": "entry",
  • "esp32AppVersion": "v1.0",
  • "esp32IdfVersion": "v1.0",
  • "lastHealthCheck": "2024-03-13T07:42:42.472468Z",
  • "lastModified": "2024-03-13T07:42:42.472468Z",
  • "lastReboot": "2024-03-13T07:42:42.472468Z",
  • "lastUpdateTime": "2024-03-13T07:42:42.472468Z",
  • "modifier": "john.smith@breezin.io",
  • "pnAppVersion": "v1.0",
  • "pnNpxFwVersion": "v1.0",
  • "pulseTime": 5,
  • "readerMacAddress": "00-B0-D0-63-C2-26",
  • "readerSerial": "651465867453",
  • "siteID": "Dundee",
  • "status": 0,
  • "title": "dundee-spa-reader-1"
}

RegenerateReaderAccessToken

This API can be used to Regenerate Card Reader Access Token.

Request Body schema: application/json
required

model.RegenerateReaderTokenRequest

readerName
string

The name of the Card Reader to be updated with a new Access Token.

Responses

Request samples

Content type
application/json
{
  • "readerName": "dundee-spa-reader-2"
}

Response samples

Content type
application/json
"string"

RemoveCardReader

This API can be used to Remove an existing Card Reader.

Request Body schema: application/json
required

model.RemoveCardReaderRequest

readerTitle
string

The title of the Card Reader record to be removed for an Organisation.

Responses

Request samples

Content type
application/json
{
  • "readerTitle": "dundee-spa-reader-1"
}

Response samples

Content type
application/json
"string"

UpdateCardReader

This API can be used to Update an existing Card Reader.

Request Body schema: application/json
required

model.UpdateCardReaderRequest

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
integer

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.

Responses

Request samples

Content type
application/json
{
  • "accessZoneName": "Spa",
  • "direction": "entry",
  • "pulseTime": 5,
  • "readerName": "dundee-spa-reader-1",
  • "siteID": "Dundee"
}

Response samples

Content type
application/json
"string"

reportingRequests

GetReportingRequestByReportID

This API can be used to Get Reporting Request by Report ID.

Request Body schema: application/json
required

model.GetReportingRequestByReportIDRequest

reportID
string

The unique ID of the Reporting Request.

Responses

Request samples

Content type
application/json
{
  • "reportID": "Niungkljk"
}

Response samples

Content type
application/json
{}

GetPaginatedReportingRequests

This API can be used to Get Paginated Reporting Requests.

Request Body schema: application/json
required

model.GetPaginatedReportingRequestsRequest

batchSize
integer

Batch size for controlling the number of items which will be returned in the pagination request. EG 10

endTime
string

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.

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
string

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.

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.

startTime
string

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.

Responses

Request samples

Content type
application/json
{
  • "batchSize": 10,
  • "endTime": "2024-03-13T07:42:42.472468Z",
  • "lastDocID": "Last Doc ID",
  • "lastModifiedTimestamp": "2024-03-13T07:42:42.472468Z",
  • "reportType": "VehicleAccessLogsReport",
  • "startTime": "2024-03-13T07:42:42.472468Z"
}

Response samples

Content type
application/json
{}

servers

CreateOnSiteServer

This API can be used to Create a new On-Site Server.

Request Body schema: application/json
required

model.CreateOnSiteServerRequest

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.

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.

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.

Responses

Request samples

Content type
application/json
{
  • "ipAddress": "192.168.1.1",
  • "serverMode": "nortech_rs232",
  • "serverName": "dundee-server",
  • "siteID": "Dundee"
}

Response samples

Content type
application/json
"string"

FetchPaginatedServers

This API can be used to Fetch Paginated list of Servers.

Request Body schema: application/json
required

model.PaginatedServerRequest

batchSize
integer

Batch size value to control the number of records returned in the pagination batch.

endTime
string

End Time timestamp for filtering DB records. This value will be compared 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.

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
string

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.

siteID
string

Optional SiteID value for filtering DB records. If this is not required, then please set the value to an empty string ('') or to 'all'.

startTime
string

Start Time timestamp for filtering DB records. This value will be compared 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.

Responses

Request samples

Content type
application/json
{
  • "batchSize": 10,
  • "endTime": "2024-03-13T07:42:42.472468Z",
  • "lastDocID": "Last Doc ID",
  • "lastModifiedTimestamp": "2024-03-13T07:42:42.472468Z",
  • "siteID": "Dundee",
  • "startTime": "2024-03-13T07:42:42.472468Z"
}

Response samples

Content type
application/json
{
  • "lastDocID": "Last Doc ID",
  • "lastModifiedTimestamp": "2024-03-13T07:42:42.472468Z",
  • "serverRecords": [
    ]
}

GetOnSiteServerByTitle

This API can be used to Fetch an existing On-Site Server by its Name.

Request Body schema: application/json
required

model.GetServerByTitleRequest

serverName
string

The title of the On-Site Server record to retrieve from the Cloud DB.

Responses

Request samples

Content type
application/json
{
  • "serverName": "dundee-server"
}

Response samples

Content type
application/json
{
  • "accessToken": "ACCESS_TOKEN",
  • "apiAccessToken": "API_ACCESS_TOKEN",
  • "created": "2024-03-13T07:42:42.472468Z",
  • "creator": "john.smith@breezin.io",
  • "ipAddress": "192.168.1.1",
  • "lastHealthCheck": "2024-03-13T07:42:42.472468Z",
  • "lastModified": "2024-03-13T07:42:42.472468Z",
  • "lastReportedVersion": "v1.0.0",
  • "lastUpdateTime": "2024-03-13T07:42:42.472468Z",
  • "modifier": "john.smith@breezin.io",
  • "serverMode": "nortech_rs232",
  • "siteID": "Dundee",
  • "title": "dundee-server"
}

RegenerateServerAccessToken

This API can be used to Regenerate Server Access Token.

Request Body schema: application/json
required

model.RegenerateServerTokenRequest

serverName
string

The name of the On-Site Server to be updated with a new Access Token.

Responses

Request samples

Content type
application/json
{
  • "serverName": "dundee-server"
}

Response samples

Content type
application/json
"string"

RegenerateServerApiAccessToken

This API can be used to Regenerate an On-Site Servers API Access Token.

Request Body schema: application/json
required

model.RegenerateServerApiAccessTokenRequest

title
string

The title of the On-Site Server record to be updated for an Organisation.

Responses

Request samples

Content type
application/json
{
  • "title": "dundee-server"
}

Response samples

Content type
application/json
"string"

RemoveOnSiteServer

This API can be used to Remove an existing On-Site Server.

Request Body schema: application/json
required

model.RemoveOnSiteServerRequest

serverName
string

The title of the On-Site Server record to be removed for an Organisation.

Responses

Request samples

Content type
application/json
{
  • "serverName": "dundee-server"
}

Response samples

Content type
application/json
"string"

UpdateOnSiteServer

This API can be used to Update an existing On-Site Server.

Request Body schema: application/json
required

model.UpdateOnSiteServerRequest

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.

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.

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.

Responses

Request samples

Content type
application/json
{
  • "ipAddress": "192.168.1.1",
  • "serverMode": "nortech_rs232",
  • "serverName": "dundee-server",
  • "siteID": "Dundee"
}

Response samples

Content type
application/json
"string"

sites

CreateSite

This API can be used to Create a new Site.

Request Body schema: application/json
required

model.CreateSiteRequest

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.

id
string

The ID of the new Site to be created. Please note that once set, this value cannot be updated.

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.

object

A map of the Access Zones situated within the new site. This will contain the configuration details for each access zone.

Responses

Request samples

Content type
application/json
{
  • "displayName": "Dundee East",
  • "id": "Dundee_East",
  • "isAccessControlEnabled": true,
  • "isAnprEnabled": false,
  • "siteAccessZones": {
    }
}

Response samples

Content type
application/json
"string"

FetchPaginatedSites

This API can be used to Fetch Paginated Sites.

Request Body schema: application/json
required

model.FetchPaginatedSitesRequest

batchSize
integer

Batch size for controlling the number of items which will be returned in the pagination request. EG 10.

endTime
string

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.

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
string

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.

startTime
string

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).

Responses

Request samples

Content type
application/json
{
  • "batchSize": 10,
  • "endTime": "2024-03-13T07:42:42.472468Z",
  • "lastDocID": "Last Doc ID",
  • "lastModifiedTimestamp": "2024-03-13T07:42:42.472468Z",
  • "startTime": "2024-03-13T07:42:42.472468Z"
}

Response samples

Content type
application/json
{
  • "lastDocID": "Last Doc ID",
  • "lastModifiedTimestamp": "2024-03-13T07:42:42.472468Z",
  • "siteRecords": [
    ]
}

GetSiteById

This API can be used to Fetch a Site by its Name.

Request Body schema: application/json
required

model.GetSiteByIdRequest

siteID
string

The ID of the site to retrieve details.

Responses

Request samples

Content type
application/json
{
  • "siteID": "Dundee"
}

Response samples

Content type
application/json
{
  • "created": "2024-03-13T07:42:42.472468Z",
  • "creator": "john.smith@breezin.io",
  • "displayName": "Dundee East",
  • "id": "Dundee_East",
  • "isAccessControlEnabled": true,
  • "isAnprEnabled": false,
  • "lastModified": "2024-03-13T07:42:42.472468Z",
  • "modifier": "john.smith@breezin.io",
  • "siteAccessLevelList": [
    ],
  • "siteAccessZones": {
    }
}

UpdateSite

This API can be used to Update an existing Site.

Request Body schema: application/json
required

model.UpdateSiteRequest

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.

id
string

The unique ID of the Site to be updated within the database.

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.

object

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.

Responses

Request samples

Content type
application/json
{
  • "displayName": "Dundee East",
  • "id": "Dundee_East",
  • "isAccessControlEnabled": true,
  • "isAnprEnabled": false,
  • "siteAccessZones": {
    }
}

Response samples

Content type
application/json
"string"

swipeLogs

GenerateAllSitesReport

This API can be used to generate a Swipe Log report for for All Sites. Please note that there is a maximum reporting period of 3 days for AllSites reporting.

Request Body schema: application/json
required

model.GenerateSwipeLogReportForAllSitesRequest

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'.

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.

emailAddresses
Array of strings

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.

endTime
string

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.

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.

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.

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.

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.

reportType
string

The type of the report to generate. Available options are: SiteDateRange, SiteDateRangeForSerialNumber, SiteDateRangeForExternalRefID, SiteDateRangeForManualOpen, SiteDateRangeForReaderID, SiteDateRangeForAccessZone, SiteDateRangeForReaderDirection and SiteDateRangeForReentryWarning.

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.

startTime
string

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.

Responses

Request samples

Content type
application/json
{
  • "accessType": "denied",
  • "accessZone": "Spa",
  • "emailAddresses": [
    ],
  • "endTime": "2024-03-13T07:42:42.472468Z",
  • "externalReferenceID": "365158684",
  • "manualOpen": true,
  • "readerDirection": "exit",
  • "readerID": "321564",
  • "reentryWarning": false,
  • "reportType": "SiteDateRangeForSerialNumber",
  • "serialNumber": "000100000001",
  • "startTime": "2024-03-13T07:42:42.472468Z"
}

Response samples

Content type
application/json
{
  • "message": "Generate reporting request has been uploaded successfully. We will notify you by email once it has been processed.",
  • "reportID": "<Random generated unique Report ID>"
}

GenerateSiteReport

This API can be used to generate a Swipe Log Site Report. Please note that there is a maximum reporting period of 3 months for this reporting option.

Request Body schema: application/json
required

model.GenerateSiteSwipeLogReportRequest

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'.

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.

emailAddresses
Array of strings

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.

endTime
string

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.

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.

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.

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.

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.

reportType
string

The type of the report to generate. Available options are: SiteDateRange, SiteDateRangeForSerialNumber, SiteDateRangeForExternalRefID, SiteDateRangeForManualOpen, SiteDateRangeForReaderID, SiteDateRangeForAccessZone, SiteDateRangeForReaderDirection and SiteDateRangeForReentryWarning.

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.

siteID
string

The ID of the Site for report generation.

startTime
string

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.

Responses

Request samples

Content type
application/json
{
  • "accessType": "denied",
  • "accessZone": "Spa",
  • "emailAddresses": [
    ],
  • "endTime": "2024-03-13T07:42:42.472468Z",
  • "externalReferenceID": "365158684",
  • "manualOpen": true,
  • "readerDirection": "exit",
  • "readerID": "321564",
  • "reentryWarning": false,
  • "reportType": "SiteDateRangeForSerialNumber",
  • "serialNumber": "000100000001",
  • "siteID": "Dundee",
  • "startTime": "2024-03-13T07:42:42.472468Z"
}

Response samples

Content type
application/json
{
  • "message": "Generate reporting request has been uploaded successfully. We will notify you by email once it has been processed.",
  • "reportID": "<Random generated unique Report ID>"
}

GenerateUserReport

This API can be used to generate a Swipe Log User Report. Please note that there is a maximum reporting period of 3 months for this reporting option.

Request Body schema: application/json
required

model.GenerateUserSwipeLogReportRequest

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'.

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.

emailAddresses
Array of strings

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.

endTime
string

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.

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.

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.

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.

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.

reportType
string

The type of the report to generate. Available options are: UserDateRange, UserDateRangeForSite, UserDateRangeForManualOpen, UserDateRangeForReaderID, UserDateRangeForAccessZone, UserDateRangeForReaderDirection and UserDateRangeForReentryWarning.

serialNumber
string

The Serial Number of the end-users pass for report generation.

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.

startTime
string

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.

Responses

Request samples

Content type
application/json
{
  • "accessType": "granted",
  • "accessZone": "Spa",
  • "emailAddresses": [
    ],
  • "endTime": "2024-03-13T07:42:42.472468Z",
  • "manualOpen": true,
  • "readerDirection": "exit",
  • "readerID": "586941653",
  • "reentryWarning": false,
  • "reportType": "UserDateRangeForSite",
  • "serialNumber": "000100000001",
  • "siteID": "Dundee",
  • "startTime": "2024-03-13T07:42:42.472468Z"
}

Response samples

Content type
application/json
{
  • "message": "Generate reporting request has been uploaded successfully. We will notify you by email once it has been processed.",
  • "reportID": "<Random generated unique Report ID>"
}

userAccess

CreateUserAccess

This API can be used to Create a new User Access Record.

Request Body schema: application/json
required

model.CreateUserAccessRequest

object

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
string

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).

allowedSites
Array of strings

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.

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
string

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.

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.

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.

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.

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.

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 this field should be base64 encoded string and 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.

Responses

Request samples

Content type
application/json
{
  • "accessZones": {
    },
  • "accountID": "6516514",
  • "activationDate": "2024-03-13T07:42:42.472468Z",
  • "allowedSites": [
    ],
  • "dateOfBirth": "01/01/1984",
  • "expiryDate": "2024-03-13T07:42:42.472468Z",
  • "externalReferenceID": "54425865",
  • "firstName": "John",
  • "homeSite": "Dundee",
  • "lastName": "Smith",
  • "latestJoinDate": "01/01/2024",
  • "packageCategory": "Platinum",
  • "packageName": "General Membership",
  • "passType": "digital",
  • "postCode": "DD11DD",
  • "profilePicture": "base64 encoded string value of the Profile Picture",
  • "serialNumber": "15619815645"
}

Response samples

Content type
application/json
"string"

ExpireUserAccess

DEPRECATED: This API can be used to set Expiry Date for an existing User Access Record. This API Endpoint will now redirect to the new ExpireUserPass API Endpoint. Please migrate integration to the new ExpireUserPass API flow.

Request Body schema: application/json
required

model.ExpireUserAccessRequest

expiryDate
string

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.

Responses

Request samples

Content type
application/json
{
  • "expiryDate": "2024-03-13T07:42:42.472468Z",
  • "serialNumber": "000100000001"
}

Response samples

Content type
application/json
"string"

FetchBatchRequestByID

This API can be used to fetch Batch Request by its ID.

Request Body schema: application/json
required

model.FetchBatchRequestByIdRequest

batchID
string

Unique ID of the BatchRequest to fetch from the Cloud DB.

Responses

Request samples

Content type
application/json
{
  • "batchID": "abc123sf"
}

Response samples

Content type
application/json
{
  • "batchCount": 10,
  • "emailAddresses": [
    ],
  • "failureCount": 5,
  • "jobIssuer": "john.smith@breezin.io",
  • "status": "in-progress",
  • "successCount": 5,
  • "type": "BatchUserAccessUpload",
  • "uploadTimestamp": "2024-03-13T07:42:42.472468Z"
}

GetUserAccessBySerial

DEPRECATED: This legacy API can be used to Fetch the User Access Record by Serial Number. 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.

Request Body schema: application/json
required

model.FetchUserAccessBySerialRequest

serialNumber
string

The unique serial number of the end-users pass which should be fetched from the Cloud DB.

Responses

Request samples

Content type
application/json
{
  • "serialNumber": "000100000001"
}

Response samples

Content type
application/json
{
  • "accessLevelList": [
    ],
  • "accessZones": {
    },
  • "accountID": "6516514",
  • "activationDate": "2024-03-13T07:42:42.472468Z",
  • "allowedSites": [
    ],
  • "created": "2024-03-13T07:42:42.472468Z",
  • "creator": "john.smith@breezin.io",
  • "dateOfBirth": "01/01/1984",
  • "expiryDate": "2024-03-13T07:42:42.472468Z",
  • "externalReferenceID": "6516514653",
  • "firstName": "John",
  • "homeSite": "Dundee",
  • "lastImageSyncTimestamp": "2024-03-13T07:42:42.472468Z",
  • "lastModified": "2024-03-13T07:42:42.472468Z",
  • "lastName": "Smith",
  • "latestJoinDate": "01/01/1984",
  • "modifier": "john.smith@breezin.io",
  • "packageCategory": "Platinum",
  • "packageName": "General Membership",
  • "passType": "digital",
  • "postCode": "DD11DD",
  • "profilePicture": "base64 encoded string value of the Profile Picture",
  • "serialNumber": "000100000001",
  • "serialNumberInt": 100000001
}

GetUserAccessByExternalReferenceID

DEPRECATED: This legacy API can be used to Fetch the User Access Records by External Reference ID. 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.

Request Body schema: application/json
required

model.GetUserAccessByExternalRefIdRequest

externalReferenceID
string

Search value for matching User Access records which are assigned a specific External Reference ID value.

Responses

Request samples

Content type
application/json
{
  • "externalReferenceID": "54425865"
}

Response samples

Content type
application/json
{
  • "userAccessRecords": [
    ]
}

UploadUserAccessCSV

This API can be used to upsert a CSV file of User Access Records 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. Please make sure to name the CSV file as 0 in the request.

Request Body schema: multipart/form-data
required
0
required
string <binary>

CSV File

emailAddresses
required
string

email Id

Responses

Response samples

Content type
application/json
{
  • "batchID": "SomeBatchID",
  • "message": "User Access CSV request has been uploaded successfully. We will notify you by email once it has been processed."
}

userPasses

CreateUserPassRecord

This API can be used to Create a new User Pass Record.

Request Body schema: application/json
required

model.CreateUserPassRequest

object

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
string

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).

allowedSites
Array of strings

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.

expiryDate
string

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.

Responses

Request samples

Content type
application/json
{
  • "accessZones": {
    },
  • "activationDate": "2024-03-13T07:42:42.472468Z",
  • "allowedSites": [
    ],
  • "expiryDate": "2024-03-13T07:42:42.472468Z",
  • "externalReferenceID": "6516514653",
  • "passType": "digital",
  • "serialNumber": "000100000001"
}

Response samples

Content type
application/json
"string"

FetchUserPassRecordBySerial

This API can be used to Fetch an existing User Pass Record by Serial.

Request Body schema: application/json
required

model.FetchUserPassRecordBySerialRequest

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.

Responses

Request samples

Content type
application/json
{
  • "serialNumber": "000100000001"
}

Response samples

Content type
application/json
{
  • "accessLevelList": [
    ],
  • "accessZones": {
    },
  • "activationDate": "2024-03-13T07:42:42.472468Z",
  • "allowedSites": [
    ],
  • "created": "2024-03-13T07:42:42.472468Z",
  • "creator": "john.smith@breezin.io",
  • "expiryDate": "2024-03-13T07:42:42.472468Z",
  • "externalReferenceID": "6516514653",
  • "firstName": "John",
  • "hasProfilePicture": false,
  • "lastModified": "2024-03-13T07:42:42.472468Z",
  • "lastName": "Smith",
  • "modifier": "john.smith@breezin.io",
  • "passType": "digital",
  • "serialNumber": "000100000001",
  • "serialNumberInt": 100000001
}

FetchPaginatedUserPassRecords

This API can be used to Fetch paginated User Pass Records.

Request Body schema: application/json
required

model.FetchPaginatedUserPassRecordsRequest

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.

batchSize
integer

Batch size value to control the number of records returned in the pagination batch.

endTime
string

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.

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
string

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.

startTime
string

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.

Responses

Request samples

Content type
application/json
{
  • "accessLevel": "Platinum",
  • "batchSize": 20,
  • "endTime": "2024-03-13T07:42:42.472468Z",
  • "lastDocID": "Last Doc ID",
  • "lastModifiedTimestamp": "2024-03-13T07:42:42.472468Z",
  • "startTime": "2024-03-13T07:42:42.472468Z"
}

Response samples

Content type
application/json
{
  • "lastDocID": "Last Doc ID",
  • "lastModifiedTimestamp": "2024-03-13T07:42:42.472468Z",
  • "userPassRecords": [
    ]
}

GetUserPassesByExternalRefID

This API can be used to Update Access Permissions for an existing User Pass Record.

Request Body schema: application/json
required

model.GetUserPassesByExternalRefIdRequest

externalReferenceID
string

Search value for matching UserPass records which are assigned to a AccessUser with External Reference ID value.

Responses

Request samples

Content type
application/json
{
  • "externalReferenceID": "54425865"
}

Response samples

Content type
application/json
{
  • "userPassRecords": [
    ]
}

ExpireUserPass

This API can be used to Update Access Permissions for an existing User Pass Record.

Request Body schema: application/json
required

model.ExpireUserPassRequest

expiryDate
string

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.

Responses

Request samples

Content type
application/json
{
  • "expiryDate": "2024-03-13T07:42:42.472468Z",
  • "serialNumber": "000100000001"
}

Response samples

Content type
application/json
"string"

UpdateUserPassAccessPermissions

This API can be used to Update Access Permissions for an existing User Pass Record.

Request Body schema: application/json
required

model.UpdateUserPassAccessPermissionsRequest

object

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.

allowedSites
Array of strings

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.

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.

Responses

Request samples

Content type
application/json
{
  • "accessZones": {
    },
  • "allowedSites": [
    ],
  • "passType": "digital",
  • "serialNumber": "000100000001"
}

Response samples

Content type
application/json
"string"

users

CreateTabletUser

This API can be used to Create a new Tablet User.

Request Body schema: application/json
required

model.CreateTabletUserRequest

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.

siteID
string

The ID of the Site which the tablet app user will be associated with.

username
string

The username of the tablet app user. This will be used for logging into the Breezin Tablet Application.

Responses

Request samples

Content type
application/json
{
  • "emailAddress": "john.smith@breezin.io",
  • "siteID": "Dundee",
  • "username": "dundee-spa-tablet"
}

Response samples

Content type
application/json
"string"

FetchPaginatedTabletUsers

This API can be used to retrieve a paginated Tablet Users.

Request Body schema: application/json
required

model.PaginatedTabletUserRequest

batchSize
integer

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
string

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.

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'.

Responses

Request samples

Content type
application/json
{
  • "batchSize": 20,
  • "lastDocID": "Last Doc ID",
  • "lastModifiedTimestamp": "2024-03-13T07:42:42.472468Z",
  • "siteID": "Dundee"
}

Response samples

Content type
application/json
{
  • "lastDocID": "Last Doc ID",
  • "lastModifiedTimestamp": "2024-03-13T07:42:42.472468Z",
  • "tabletUserRecords": [
    ]
}

GetTabletUserByUsername

This API can be used to retrieve a Tablet User.

Request Body schema: application/json
required

model.GetTabletUserByUsernameRequest

username
string

Username provided to search for a Tablet User's account.

Responses

Request samples

Content type
application/json
{
  • "username": "dundee-spa-tablet"
}

Response samples

Content type
application/json
{
  • "created": "2024-03-13T07:42:42.472468Z",
  • "creator": "john.smith@breezin.io",
  • "emailAddress": "john.smith@breezin.io",
  • "isLocked": false,
  • "lastModified": "2024-03-13T07:42:42.472468Z",
  • "modifier": "john.smith@breezin.io",
  • "siteID": "Dundee",
  • "username": "dundee-spa-tablet"
}

RemoveTabletUser

This API can be used to Remove Tablet User.

Request Body schema: application/json
required

model.RemoveTabletUserRequest

username
string

The username of the tablet user to be removed for an Organisation.

Responses

Request samples

Content type
application/json
{
  • "username": "dundee-spa-tablet"
}

Response samples

Content type
application/json
"string"

UpdateTabletUserDetails

This API can be used to update the Tablet User details.

Request Body schema: application/json
required

model.UpdateTabletUserDetailsRequest

emailAddress
string

Optional email address value to assign as the Tablet Users primary contact details.

siteID
string

Optional SiteID value to repurpose the Tablet User account to another site.

username
string

The username of the tablet app user to be updated.

Responses

Request samples

Content type
application/json
{
  • "emailAddress": "john.smith@breezin.io",
  • "siteID": "Dundee",
  • "username": "dundee-spa-tablet"
}

Response samples

Content type
application/json
"string"

UpdateTabletUserPassword

This API can be used to update the password of a Tablet User.

Request Body schema: application/json
required

model.UpdateTabletUserPasswordRequest

hashedPassword
string

SHA-512 hash of the Tablet User's new password.

username
string

The username of the tablet app user to be updated.

Responses

Request samples

Content type
application/json
{
  • "hashedPassword": "aioejnv89q453u69to243mgnvo90ier",
  • "username": "dundee-spa-tablet"
}

Response samples

Content type
application/json
"string"