Documentation
¶
Index ¶
- func Bool(b bool) *bool
- func Float64(f float64) *float64
- func Int(i int) *int
- func Ptr[T any](v T) *T
- type AccessClient
- func (c *AccessClient) ActivateAccessCard(card_id string, options *ActivateAccessCardOptions) (*Card, error)
- func (c *AccessClient) ActivateAccessScenario(scenario_id string) (*ActivateAccessScenarioResponse, error)
- func (c *AccessClient) ActivateLicensePlate(license_plate_number string, options *ActivateLicensePlateOptions) (*LicensePlate, error)
- func (c *AccessClient) ActivateUserBLE(options *ActivateUserBLEOptions) (*AccessInformationObject, error)
- func (c *AccessClient) ActivateUserRemoteUnlock(options *ActivateUserRemoteUnlockOptions) (*AccessInformationObject, error)
- func (c *AccessClient) AddAccessCard(format string, options *AddAccessCardOptions, body *AddAccessCardBody) (*Card, error)
- func (c *AccessClient) AddAccessScheduleEvent(access_level_id string, end_time string, start_time string, weekday string) (*AccessScheduleEvent, error)
- func (c *AccessClient) AddExceptionToCalendar(calendar_id string, date string, start_time, end_time string, ...) (*DoorException, error)
- func (c *AccessClient) AddMFACode(code string, options *AddMFACodeOptions) (*AddMFACodeResponse, error)
- func (c *AccessClient) AddUserLicensePlate(license_plate_number string, options *AddUserLicensePlateOptions, ...) (*LicensePlate, error)
- func (c *AccessClient) AddUserToAccessGroup(group_id string, body *AddUserToAccessGroupBody) (*AddUserToAccessGroupResponse, error)
- func (c *AccessClient) AdminUnlockDoor(door_id string) (*AdminUnlockDoorResponse, error)
- func (c *AccessClient) CreateAccessGroup(name string) (*AccessGroup, error)
- func (c *AccessClient) CreateAccessLevel(access_groups []string, access_schedule_events []AccessScheduleEvent, ...) (*AccessLevel, error)
- func (c *AccessClient) CreateDoorExceptionCalendar(name string, body *CreateDoorExceptionCalendarBody) (*DoorExceptionCalendar, error)
- func (c *AccessClient) DeactivateAccessCard(card_id string, options *DeactivateAccessCardOptions) (*Card, error)
- func (c *AccessClient) DeactivateAccessScenario(scenario_id string) (*DeactivateAccessScenarioResponse, error)
- func (c *AccessClient) DeactivateLicensePlate(license_plate_number string, options *DeactivateLicensePlateOptions) (*LicensePlate, error)
- func (c *AccessClient) DeactivateUserBLE(options *DeactivateUserBLEOptions) (*AccessInformationObject, error)
- func (c *AccessClient) DeactivateUserRemoteUnlock(options *DeactivateUserRemoteUnlockOptions) (*AccessInformationObject, error)
- func (c *AccessClient) DeleteAccessCard(card_id string, options *DeleteAccessCardOptions) (*DeleteAccessCardResponse, error)
- func (c *AccessClient) DeleteAccessGroups(group_id string) (*DeleteAccessGroupResponse, error)
- func (c *AccessClient) DeleteAccessLevel(access_level_id string) (*DeleteAccessLevelResponse, error)
- func (c *AccessClient) DeleteAccessScheduleEvent(access_level_id string, event_id string) (*DeleteAccessScheduleEventResponse, error)
- func (c *AccessClient) DeleteDoorExceptionCalendar(calendar_id string) (*DeleteDoorExceptionCalendarResponse, error)
- func (c *AccessClient) DeleteExceptionFromCalendar(calendar_id string, exception_id string) (*DeleteExceptionFromCalendarResponse, error)
- func (c *AccessClient) DeleteMFACode(code string, options *DeleteMFACodeOptions) (*DeleteMFACodeResponse, error)
- func (c *AccessClient) DeleteProfilePhoto(options *DeleteProfilePhotoOptions) (*DeleteProfilePhotoResponse, error)
- func (c *AccessClient) DeleteUserLicensePlate(license_plate_number string, options *DeleteUserLicensePlateOptions) (*DeleteUserLicensePlateResponse, error)
- func (c *AccessClient) GetAccessEvents(options *GetAccessEventsOptions) (*GetAccessEventsResponse, error)
- func (c *AccessClient) GetAccessGroup(group_id string) (*AccessGroup, error)
- func (c *AccessClient) GetAccessInformationObject(options *GetAccessInformationObjectOptions) (*AccessInformationObject, error)
- func (c *AccessClient) GetAccessLevel(access_level_id string) (*AccessLevel, error)
- func (c *AccessClient) GetAccessScheduleEvent(access_level_id string, event_id string) (*AccessScheduleEvent, error)
- func (c *AccessClient) GetAllAccessGroups() (*GetAllAccessGroupsResponse, error)
- func (c *AccessClient) GetAllAccessLevels() (*GetAllAccessLevelsResponse, error)
- func (c *AccessClient) GetAllAccessScenarios(options *GetAllAccessScenariosOptions) (*GetAllAccessScenariosResponse, error)
- func (c *AccessClient) GetAllAccessUsers() (*GetAllAccessUsersResponse, error)
- func (c *AccessClient) GetAllDoorExceptionCalendars(options *GetAllDoorExceptionCalendarsOptions) (*GetAllDoorExceptionCalendarsResponse, error)
- func (c *AccessClient) GetDoorExceptionCalendar(calendar_id string) (*DoorExceptionCalendar, error)
- func (c *AccessClient) GetDoors(options *GetDoorsOptions) (*GetDoorsResponse, error)
- func (c *AccessClient) GetExceptionFromCalendar(calendar_id string, exception_id string) (*DoorException, error)
- func (c *AccessClient) GetProfilePhoto(options *GetProfilePhotoOptions, filename string) error
- func (c *AccessClient) RemoveUserEntryCode(options *RemoveUserEntryCodeOptions) (*RemoveUserEntryCodeResponse, error)
- func (c *AccessClient) RemoveUserFromAccessGroup(group_id string, options *RemoveUserFromAccessGroupOptions) (*RemoveUserFromAccessGroupResponse, error)
- func (c *AccessClient) SendPassInvite(options *SendPassInviteOptions) (*AccessInformationObject, error)
- func (c *AccessClient) SetStartDate(start_date string, options *SetStartDateOptions) (*AccessInformationObject, error)
- func (c *AccessClient) SetUserEndDate(end_date string, options *SetUserEndDateOptions) (*AccessInformationObject, error)
- func (c *AccessClient) SetUserEntryCode(entry_code string, options *SetUserEntryCodeOptions) (*AccessInformationObject, error)
- func (c *AccessClient) UpdateAccessLevel(access_level_id string, access_groups []string, ...) (*AccessLevel, error)
- func (c *AccessClient) UpdateAccessScheduleEvent(access_level_id string, event_id string, end_time string, start_time string, ...) (*AccessScheduleEvent, error)
- func (c *AccessClient) UpdateDoorExceptionCalendar(calendar_id string, name string, body *UpdateDoorExceptionCalendarBody) (*DoorExceptionCalendar, error)
- func (c *AccessClient) UpdateExceptionOnCalendar(calendar_id string, exception_id string, date string, ...) (*DoorException, error)
- func (c *AccessClient) UploadProfilePhoto(options *UploadProfilePhotoOptions, filename string) error
- func (c *AccessClient) UserUnlockDoor(door_id string, options *UserUnlockDoorOptions) (*UserUnlockDoorResponse, error)
- type AccessGroup
- type AccessGroupAddition
- type AccessGroupMetadata
- type AccessInformationObject
- type AccessLevel
- type AccessScenario
- type AccessScheduleEvent
- type AccessUser
- type ActivateAccessCardOptions
- type ActivateAccessScenarioResponse
- type ActivateLicensePlateOptions
- type ActivateUserBLEOptions
- type ActivateUserRemoteUnlockOptions
- type AddAccessCardBody
- type AddAccessCardOptions
- type AddExceptionToCalendarBody
- type AddMFACodeOptions
- type AddMFACodeResponse
- type AddUserLicensePlateOptions
- type AddUserLicensePlatedBody
- type AddUserToAccessGroupBody
- type AddUserToAccessGroupOptions
- type AddUserToAccessGroupResponse
- type AdminUnlockDoorResponse
- type AuditLogsDevice
- type CameraClient
- func (c *CameraClient) CreateLPOI(license_plate string, description string) (*CreateLPOIResponse, error)
- func (c *CameraClient) CreateLPOIByCSV(filename string) (*CreateLPOIByCSVResponse, error)
- func (c *CameraClient) CreatePOI(filename string, label string) (*POIProfile, error)
- func (c *CameraClient) DeleteLPOI(license_plate string) (*DeleteLPOIResponse, error)
- func (c *CameraClient) DeleteLPOIByCSV(filename string) (*DeleteLPOIByCSVResponse, error)
- func (c *CameraClient) DeletePOI(person_id string, options *DeletePOIOptions) (*POIProfile, error)
- func (c *CameraClient) GetAlerts(options *GetAlertsOptions) (*GetAlertsResponse, error)
- func (c *CameraClient) GetAllLPOI(options *GetAllLPOIOptions) (*GetAllLPOIResponse, error)
- func (c *CameraClient) GetAllPOI(options *GetAllPOIOptions) (*GetAllPOIResponse, error)
- func (c *CameraClient) GetCBSettings(camera_id string) (*GetCBSettingsResponse, error)
- func (c *CameraClient) GetCameraAudioStatus(camera_id string) (*GetCameraAudioStatusResponse, error)
- func (c *CameraClient) GetCameraDevices(options *GetCameraDevicesOptions) (*GetCameraDevicesResponse, error)
- func (c *CameraClient) GetDashBoardWidgetTrendData(dashboard_id string, body *GetDashboardWidgetTrendDataOptions) (*GetDashboardWidgetTrendDataResponse, error)
- func (c *CameraClient) GetDashboardOTData(dashboard_id string, options *GetDashboardOTDataOptions) (*GetDashboardOTDataResponse, error)
- func (c *CameraClient) GetLatestThumbnailImage(camera_id string, options *GetLatestThumbnailImageOptions, filename string) error
- func (c *CameraClient) GetLicensePlateTS(camera_id string, license_plate string, options *GetLicensePlateTSOptions) (*GetLicensePlateTSResponse, error)
- func (c *CameraClient) GetLinkToFootage(camera_id string, options *GetLinkToFootageOptions) (*GetLinkToFootageResponse, error)
- func (c *CameraClient) GetMaxCounts(camera_id string, options *GetMaxCountsOptions) (*GetMaxCountsResponse, error)
- func (c *CameraClient) GetOTCameras() (*GetOTCamerasResponse, error)
- func (c *CameraClient) GetOTData(camera_id string, preset_id string, options *GetOTDataOptions) (*GetOTDataResponse, error)
- func (c *CameraClient) GetObjectCounts(camera_id string, options *GetObjectCountsOptions) (*GetObjectCountsResponse, error)
- func (c *CameraClient) GetSeenPlates(camera_id string, options *GetSeenPlatesOptions) (*GetSeenPlatesResponse, error)
- func (c *CameraClient) GetStreamingToken() (*GetStreamingTokenResponse, error)
- func (c *CameraClient) GetThumbnailImage(camera_id string, options *GetThumbnailImageOptions, filename string) error
- func (c *CameraClient) GetThumbnailLink(camera_id string, options *GetThumbnailLinkOptions) (*GetThumbnailLinkResponse, error)
- func (c *CameraClient) SetMQTTConfig(broker_cert string, broker_host_port string, camera_id string, ...) (*SetMQTTConfigResponse, error)
- func (c *CameraClient) StreamFootage(org_id string, camera_id string, jwt string, options *GetFootageOptions, ...) (*StreamFootageResponse, error)
- func (c *CameraClient) UpdateCBSettings(camera_id string, days_to_preserve string, enabled int, ...) (*UpdateCBSettingsResponse, error)
- func (c *CameraClient) UpdateCameraAudio(camera_id string, enabled bool) (*UpdateCameraAudioResponse, error)
- func (c *CameraClient) UpdateLPOI(license_plate string, description string) (*UpdateLPOIResponse, error)
- func (c *CameraClient) UpdatePOI(person_id string, label string) (*POIProfile, error)
- type CameraPreset
- type Card
- type ClassicAlarmsClient
- type Client
- func (c *Client) MakeVerkadaRequest(method string, url string, params any, body any, target any, retry int) error
- func (c *Client) MakeVerkadaRequestForFile(method string, url string, params any, filename string, retry int) error
- func (c *Client) MakeVerkadaRequestWithFile(method string, url string, params any, filename string, filetype string, ...) error
- type ClientOptions
- type CoreClient
- func (c *CoreClient) CreateUser(body *CreateUserBody) (*CreateUserResponse, error)
- func (c *CoreClient) DeleteUser(options *DeleteUserOptions) (*DeleteUserResponse, error)
- func (c *CoreClient) GetAuditLogs(options *GetAuditLogsOptions) (*GetAuditLogsResponse, error)
- func (c *CoreClient) GetUser(options *GetUserOptions) (*GetUserResponse, error)
- func (c *CoreClient) UpdateUser(options *UpdateUserOptions, body *UpdateUserBody) (*UpdateUserResponse, error)
- type CreateAccessGroupBody
- type CreateDoorExceptionCalendarBody
- type CreateHelixEventBody
- type CreateHelixEventResponse
- type CreateHelixEventTypeResponse
- type CreateLPOIByCSVResponse
- type CreateLPOIResponse
- type CreateProfilePhotoResponse
- type CreateUserBody
- type CreateUserResponse
- type DeactivateAccessCardOptions
- type DeactivateAccessScenarioResponse
- type DeactivateLicensePlateOptions
- type DeactivateUserBLEOptions
- type DeactivateUserRemoteUnlockOptions
- type DeleteAccessCardOptions
- type DeleteAccessCardResponse
- type DeleteAccessGroupOptions
- type DeleteAccessGroupResponse
- type DeleteAccessLevelResponse
- type DeleteAccessScheduleEventResponse
- type DeleteDenyListOptions
- type DeleteDenyListResponse
- type DeleteDoorExceptionCalendarResponse
- type DeleteExceptionFromCalendarResponse
- type DeleteHelixEventOptions
- type DeleteHelixEventResponse
- type DeleteHelixEventTypeOptions
- type DeleteHelixEventTypeResponse
- type DeleteLPOIByCSVResponse
- type DeleteLPOIOptions
- type DeleteLPOIResponse
- type DeleteMFACodeOptions
- type DeleteMFACodeResponse
- type DeletePOIOptions
- type DeleteProfilePhotoOptions
- type DeleteProfilePhotoResponse
- type DeleteUserLicensePlateOptions
- type DeleteUserLicensePlateResponse
- type DeleteUserOptions
- type DeleteUserResponse
- type Door
- type DoorException
- type DoorExceptionCalendar
- type DoorInfo
- type EventInfo
- type Events
- type Floors
- type GetAccessEventsOptions
- type GetAccessEventsResponse
- type GetAccessGroupOptions
- type GetAccessInformationObjectOptions
- type GetAlarmDevicesOptions
- type GetAlarmDevicesResponse
- type GetAlarmSitesOptions
- type GetAlarmSitesResponse
- type GetAlertsOptions
- type GetAlertsResponse
- type GetAllAccessGroupsResponse
- type GetAllAccessLevelsResponse
- type GetAllAccessScenariosOptions
- type GetAllAccessScenariosResponse
- type GetAllAccessUsersResponse
- type GetAllDoorExceptionCalendarsOptions
- type GetAllDoorExceptionCalendarsResponse
- type GetAllLPOIOptions
- type GetAllLPOIResponse
- type GetAllPOIOptions
- type GetAllPOIResponse
- type GetAuditLogsOptions
- type GetAuditLogsResponse
- type GetCBSettingsOptions
- type GetCBSettingsResponse
- type GetCameraAudioStatusOptions
- type GetCameraAudioStatusResponse
- type GetCameraDevicesOptions
- type GetCameraDevicesResponse
- type GetDashboardOTDataOptions
- type GetDashboardOTDataResponse
- type GetDashboardWidgetTrendDataOptions
- type GetDashboardWidgetTrendDataResponse
- type GetDoorsOptions
- type GetDoorsResponse
- type GetFootageOptions
- type GetGuestSitesResponse
- type GetGuestTypesOptions
- type GetGuestTypesResponse
- type GetGuestVisitsOptions
- type GetGuestVisitsResponse
- type GetHelixEventOptions
- type GetHelixEventResponse
- type GetHelixEventTypesOptions
- type GetHelixEventTypesResponse
- type GetHostsOptions
- type GetHostsResponse
- type GetLatestThumbnailImageOptions
- type GetLicensePlateTSOptions
- type GetLicensePlateTSResponse
- type GetLinkToFootageOptions
- type GetLinkToFootageResponse
- type GetMaxCountsOptions
- type GetMaxCountsResponse
- type GetOTCamerasResponse
- type GetOTDataOptions
- type GetOTDataResponse
- type GetObjectCountsOptions
- type GetObjectCountsResponse
- type GetProfilePhotoOptions
- type GetSeenPlatesOptions
- type GetSeenPlatesResponse
- type GetSensorAlertsOptions
- type GetSensorAlertsResponse
- type GetSensorDataOptions
- type GetSensorDataResponse
- type GetStreamingTokenResponse
- type GetThumbnailImageOptions
- type GetThumbnailLinkOptions
- type GetThumbnailLinkResponse
- type GetUserOptions
- type GetUserResponse
- type GetVXDevicesResponse
- type GuestClient
- func (c *GuestClient) DeleteDenyList(site_id string) (*DeleteDenyListResponse, error)
- func (c *GuestClient) GetGuestSites() (*GetGuestSitesResponse, error)
- func (c *GuestClient) GetGuestTypes(site_id string, options *GetGuestTypesOptions) (*GetGuestTypesResponse, error)
- func (c *GuestClient) GetGuestVisits(site_id string, start_time *int, end_time *int, options *GetGuestVisitsOptions) (*GetGuestVisitsResponse, error)
- func (c *GuestClient) GetHosts(site_id string, options *GetHostsOptions) (*GetHostsResponse, error)
- func (c *GuestClient) PostDenyList(site_id string, uploadFilename string) (*PostDenyListResponse, error)
- type HelixAttributeObject
- type HelixClient
- func (c *HelixClient) CreateHelixEvent(camera_id string, time_ms int64, event_type_uid string, ...) (*CreateHelixEventResponse, error)
- func (c *HelixClient) CreateHelixEventType(event_schema map[string]string, name string) (*CreateHelixEventTypeResponse, error)
- func (c *HelixClient) DeleteHelixEvent(camera_id string, time_ms int64, event_type_uid string) (*DeleteHelixEventResponse, error)
- func (c *HelixClient) DeleteHelixEventType(event_type_uid string) (*DeleteHelixEventTypeResponse, error)
- func (c *HelixClient) GetHelixEvent(camera_id string, time_ms int64, event_type_uid string) (*GetHelixEventResponse, error)
- func (c *HelixClient) GetHelixEventTypes(options *GetHelixEventTypesOptions) (*GetHelixEventTypesResponse, error)
- func (c *HelixClient) SearchHelixEvent(body *SearchHelixEventBody) (*SearchHelixEventResponse, error)
- func (c *HelixClient) UpdateHelixEvent(camera_id string, time_ms int64, event_type_uid string, ...) (*UpdateHelixEventResponse, error)
- func (c *HelixClient) UpdateHelixEventType(event_type_uid string, event_schema map[string]string, name string) (*UpdateHelixEventTypeResponse, error)
- type LicensePlate
- type Lockdown
- type LockdownInfo
- type POIProfile
- type PostDenyListBody
- type PostDenyListOptions
- type PostDenyListResponse
- type RecurrenceRule
- type RemoveUserEntryCodeOptions
- type RemoveUserEntryCodeResponse
- type RemoveUserFromAccessGroupOptions
- type RemoveUserFromAccessGroupResponse
- type SearchHelixEventBody
- type SearchHelixEventResponse
- type SendPassInviteOptions
- type SensorClient
- type SetMQTTConfigBody
- type SetMQTTConfigResponse
- type SetStartDateOptions
- type SetUserEndDateOptions
- type SetUserEntryCodeOptions
- type Site
- type StreamFootageResponse
- type UpdateCBSettingsResponse
- type UpdateCameraAudioResponse
- type UpdateDoorExceptionCalendarBody
- type UpdateHelixEventBody
- type UpdateHelixEventOptions
- type UpdateHelixEventResponse
- type UpdateHelixEventTypeOptions
- type UpdateHelixEventTypeResponse
- type UpdateLPOIOptions
- type UpdateLPOIResponse
- type UpdatePOIOptions
- type UpdateUserBody
- type UpdateUserOptions
- type UpdateUserResponse
- type UploadProfilePhotoOptions
- type UserInfo
- type UserUnlockDoorOptions
- type UserUnlockDoorResponse
- type VXClient
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
func Bool ¶
Helper function to one-line a bool to *bool conversion. Required because a nullable value is needed to identify disincluded parameters in options structs.
func Float64 ¶
Helper function to one-line a Int64 to *Int64 conversion. Required because a nullable value is needed to identify disincluded parameters in options structs.
Types ¶
type AccessClient ¶
type AccessClient struct {
// contains filtered or unexported fields
}
func (*AccessClient) ActivateAccessCard ¶
func (c *AccessClient) ActivateAccessCard(card_id string, options *ActivateAccessCardOptions) (*Card, error)
Given the card ID and Verkada defined user ID or user defined external ID, activate a specific access card for a user.
func (*AccessClient) ActivateAccessScenario ¶
func (c *AccessClient) ActivateAccessScenario(scenario_id string) (*ActivateAccessScenarioResponse, error)
Activates a scenario with the given scenario_id.
To use this API, you need an API Key having "Read/Write" permission for "Access Control" endpoints. "Manage via API" must also be enabled for scenarios in your organization.
func (*AccessClient) ActivateLicensePlate ¶
func (c *AccessClient) ActivateLicensePlate(license_plate_number string, options *ActivateLicensePlateOptions) (*LicensePlate, error)
Given the Verkada defined user ID (OR user defined external ID) and Licence Plate Number, activate a users Licence Plate Credential.
func (*AccessClient) ActivateUserBLE ¶
func (c *AccessClient) ActivateUserBLE(options *ActivateUserBLEOptions) (*AccessInformationObject, error)
Given the user defined external ID or Verkada defined user ID (but not both), activate bluetooth unlock capability for a user.
func (*AccessClient) ActivateUserRemoteUnlock ¶
func (c *AccessClient) ActivateUserRemoteUnlock(options *ActivateUserRemoteUnlockOptions) (*AccessInformationObject, error)
Given the user defined external ID or Verkada defined user ID (but not both), activate remote unlock capability for a user.
func (*AccessClient) AddAccessCard ¶
func (c *AccessClient) AddAccessCard(format string, options *AddAccessCardOptions, body *AddAccessCardBody) (*Card, error)
Create and add an access card for a specified user_id or external_id and org_id. All cards require one of:
- card_number
- card_number_hex
- card_number_base36.
func (*AccessClient) AddAccessScheduleEvent ¶
func (c *AccessClient) AddAccessScheduleEvent(access_level_id string, end_time string, start_time string, weekday string) (*AccessScheduleEvent, error)
Add a new Access Schedule Event to an Access Level having the specified access_level_id.
To use this API, you need an API Key having permission "Door Access Management" for all sites listed in sites for the Access Level. "Manage via API" must also be enabled for all doors listed in doors.
Verkada API Docs - Add Access Schedule Event to Access Level
func (*AccessClient) AddExceptionToCalendar ¶
func (c *AccessClient) AddExceptionToCalendar(calendar_id string, date string, start_time, end_time string, body *AddExceptionToCalendarBody) (*DoorException, error)
Add a new Exception to a Door Exception Calendar having the specified calendar_id.
To use this API, you need an API Key having permission "Door Access Management" for all sites including doors listed in doors for the Door Exception Calendar. Manage via API must also be enabled for all doors listed in doors.
func (*AccessClient) AddMFACode ¶
func (c *AccessClient) AddMFACode(code string, options *AddMFACodeOptions) (*AddMFACodeResponse, error)
Add an MFA code credential to a user given a specified user_id or external_id and org_id.
func (*AccessClient) AddUserLicensePlate ¶
func (c *AccessClient) AddUserLicensePlate(license_plate_number string, options *AddUserLicensePlateOptions, body *AddUserLicensePlatedBody) (*LicensePlate, error)
Add a license plate credential to a user given a specified user_id or external_id and org_id. The plate number must be a string of 6 alphanumeric values.
func (*AccessClient) AddUserToAccessGroup ¶
func (c *AccessClient) AddUserToAccessGroup(group_id string, body *AddUserToAccessGroupBody) (*AddUserToAccessGroupResponse, error)
Add an access user to an access group with the Verkada defined group ID and either the user defined External ID or the Verkada defined user ID.
func (*AccessClient) AdminUnlockDoor ¶
func (c *AccessClient) AdminUnlockDoor(door_id string) (*AdminUnlockDoorResponse, error)
Sends a request to unlock a door with door_id irrespective of any user's door access privileges.
func (*AccessClient) CreateAccessGroup ¶
func (c *AccessClient) CreateAccessGroup(name string) (*AccessGroup, error)
Create an access group within the given organization using the given name. The name of the access group must be unique within the organization.
func (*AccessClient) CreateAccessLevel ¶
func (c *AccessClient) CreateAccessLevel(access_groups []string, access_schedule_events []AccessScheduleEvent, doors []string, name string, sites []string) (*AccessLevel, error)
Create a new Access Level.
To use this API, you need an API Key having permission "Door Access Management" for all sites listed in sites for the Access Level. "Manage via API" must also be enabled for all doors listed in doors.
func (*AccessClient) CreateDoorExceptionCalendar ¶
func (c *AccessClient) CreateDoorExceptionCalendar(name string, body *CreateDoorExceptionCalendarBody) (*DoorExceptionCalendar, error)
Create a new Door Exception Calendar.
To use this API, you need an API Key having permission "Door Access Management" for all sites including doors listed in doors for the Door Exception Calendar. Manage via API must also be enabled for all doors listed in doors.
func (*AccessClient) DeactivateAccessCard ¶
func (c *AccessClient) DeactivateAccessCard(card_id string, options *DeactivateAccessCardOptions) (*Card, error)
Given the card ID and Verkada defined user ID or user defined external ID, deactivate a specific access card for a user.
func (*AccessClient) DeactivateAccessScenario ¶
func (c *AccessClient) DeactivateAccessScenario(scenario_id string) (*DeactivateAccessScenarioResponse, error)
Releases a scenario with the given scenario_id.
To use this API, you need an API Key having "Read/Write" permission for "Access Control" endpoints. "Manage via API" must also be enabled for scenarios in your organization.
func (*AccessClient) DeactivateLicensePlate ¶
func (c *AccessClient) DeactivateLicensePlate(license_plate_number string, options *DeactivateLicensePlateOptions) (*LicensePlate, error)
Given the Verkada defined user ID (OR user defined external ID) and Licence Plate Number, deactivate a users Licence Plate Credential.
func (*AccessClient) DeactivateUserBLE ¶
func (c *AccessClient) DeactivateUserBLE(options *DeactivateUserBLEOptions) (*AccessInformationObject, error)
Given the user defined external ID or Verkada defined user ID (but not both), deactivate bluetooth unlock capability for a user.
func (*AccessClient) DeactivateUserRemoteUnlock ¶
func (c *AccessClient) DeactivateUserRemoteUnlock(options *DeactivateUserRemoteUnlockOptions) (*AccessInformationObject, error)
Given the user defined external ID or Verkada defined user ID (but not both), deactivate remote unlock capability for a user.
func (*AccessClient) DeleteAccessCard ¶
func (c *AccessClient) DeleteAccessCard(card_id string, options *DeleteAccessCardOptions) (*DeleteAccessCardResponse, error)
Deletes an access card of a specified access user given their user_id or external_id, the org_id, and the card_id.
func (*AccessClient) DeleteAccessGroups ¶
func (c *AccessClient) DeleteAccessGroups(group_id string) (*DeleteAccessGroupResponse, error)
Delete an access group with the given group identifier within the given organization.
func (*AccessClient) DeleteAccessLevel ¶
func (c *AccessClient) DeleteAccessLevel(access_level_id string) (*DeleteAccessLevelResponse, error)
Delete an Access Level having the specified access_level_id.
To use this API, you need an API Key having permission "Door Access Management" for all sites listed in sites for the Access Level. "Manage via API" must also be enabled for all doors listed in doors.
func (*AccessClient) DeleteAccessScheduleEvent ¶
func (c *AccessClient) DeleteAccessScheduleEvent(access_level_id string, event_id string) (*DeleteAccessScheduleEventResponse, error)
Delete an Access Schedule Event having access_schedule_event_id on an Access Level having the specified access_level_id.
To use this API, you need an API Key having permission "Door Access Management" for all sites listed in sites for the Access Level. "Manage via API" must also be enabled for all doors listed in doors.
Verkada API Docs - Delete Access Schedule Event on Access Level
func (*AccessClient) DeleteDoorExceptionCalendar ¶
func (c *AccessClient) DeleteDoorExceptionCalendar(calendar_id string) (*DeleteDoorExceptionCalendarResponse, error)
Delete a Door Exception Calendar having the specified calendar_id.
To use this API, you need an API Key having permission "Door Access Management" for all sites including doors listed in doors for the Door Exception Calendar. Manage via API must also be enabled for all doors listed in doors.
func (*AccessClient) DeleteExceptionFromCalendar ¶
func (c *AccessClient) DeleteExceptionFromCalendar(calendar_id string, exception_id string) (*DeleteExceptionFromCalendarResponse, error)
Delete an Exception having the specified exception_id on a Door Exception Calendar having the specified calendar_id.
To use this API, you need an API Key having permission "Door Access Management" for all sites including doors listed in doors for the Door Exception Calendar. Manage via API must also be enabled for all doors listed in doors.
Verkada API Docs - Delete Exception on Door Exception Calendar
func (*AccessClient) DeleteMFACode ¶
func (c *AccessClient) DeleteMFACode(code string, options *DeleteMFACodeOptions) (*DeleteMFACodeResponse, error)
Deletes an MFA code credential from a specified user by providing the user_id or external_id, the org_id, and the mfa_code.
func (*AccessClient) DeleteProfilePhoto ¶
func (c *AccessClient) DeleteProfilePhoto(options *DeleteProfilePhotoOptions) (*DeleteProfilePhotoResponse, error)
Delete a profile photo for the specified user.
func (*AccessClient) DeleteUserLicensePlate ¶
func (c *AccessClient) DeleteUserLicensePlate(license_plate_number string, options *DeleteUserLicensePlateOptions) (*DeleteUserLicensePlateResponse, error)
Deletes a license plate credential from a specified user by providing the user_id or the external_id, the org_id, and the license_plate_number.
func (*AccessClient) GetAccessEvents ¶
func (c *AccessClient) GetAccessEvents(options *GetAccessEventsOptions) (*GetAccessEventsResponse, error)
Returns events for an organization within a specified time range.
func (*AccessClient) GetAccessGroup ¶
func (c *AccessClient) GetAccessGroup(group_id string) (*AccessGroup, error)
Retrieves an access group specified by its Verkada-defined unique identifier (Group ID).
func (*AccessClient) GetAccessInformationObject ¶
func (c *AccessClient) GetAccessInformationObject(options *GetAccessInformationObjectOptions) (*AccessInformationObject, error)
Given the Verkada created User Id, user defined External Id, email address, or employee ID, retrieve the Access Object Information for the specified user.
func (*AccessClient) GetAccessLevel ¶
func (c *AccessClient) GetAccessLevel(access_level_id string) (*AccessLevel, error)
Retrieves an Access Level having the specified access_level_id.
To use this API, you need an API Key having permission "Door Access Management" for all sites listed in sites for the Access Level. "Manage via API" must also be enabled for all doors listed in doors.
func (*AccessClient) GetAccessScheduleEvent ¶
func (c *AccessClient) GetAccessScheduleEvent(access_level_id string, event_id string) (*AccessScheduleEvent, error)
Retrieve an Access Schedule Event having access_schedule_event_id on an Access Level having the specified access_level_id.
To use this API, you need an API Key having permission "Door Access Management" for all sites listed in sites for the Access Level. "Manage via API" must also be enabled for all doors listed in doors.
func (*AccessClient) GetAllAccessGroups ¶
func (c *AccessClient) GetAllAccessGroups() (*GetAllAccessGroupsResponse, error)
Retrieves a list of all access groups in a given organization.
func (*AccessClient) GetAllAccessLevels ¶
func (c *AccessClient) GetAllAccessLevels() (*GetAllAccessLevelsResponse, error)
Retrieves a list of all Access Levels that the API Token is authorized to access.
To use this API, you need an API Key having permission "Door Access Management" for all sites listed in sites for Access Levels that you want to retrieve. "Manage via API" must also be enabled for all doors listed in doors that you want to retrieve.
func (*AccessClient) GetAllAccessScenarios ¶
func (c *AccessClient) GetAllAccessScenarios(options *GetAllAccessScenariosOptions) (*GetAllAccessScenariosResponse, error)
Lists all access scenarios for the organization.
To use this API, you need an API Key with "Read" permission for "Access Scenario Management" endpoints or an API Key with "Read" permission for "Access Control" endpoints.
func (*AccessClient) GetAllAccessUsers ¶
func (c *AccessClient) GetAllAccessUsers() (*GetAllAccessUsersResponse, error)
This returns a list of All Access User Objects for all access members in an organization.
func (*AccessClient) GetAllDoorExceptionCalendars ¶
func (c *AccessClient) GetAllDoorExceptionCalendars(options *GetAllDoorExceptionCalendarsOptions) (*GetAllDoorExceptionCalendarsResponse, error)
Retrieves a list of all Door Exception Calendars that the API Token is authorized to access. The response can optionally be filtered to include Door Exception Calendars that were last updated after a provided date and time.
To use this API, you need an API Key having permission "Door Access Management" for all sites including doors listed in doors for Door Exception Calendars that you want to retrieve. "Manage via API" must also be enabled for all doors listed in doors that you want to retrieve.
Verkada API Docs - Get All Available Door Exception Calendars
func (*AccessClient) GetDoorExceptionCalendar ¶
func (c *AccessClient) GetDoorExceptionCalendar(calendar_id string) (*DoorExceptionCalendar, error)
Retrieve a Door Exception Calendar having the specified calendar_id.
To use this API, you need an API Key having permission "Door Access Management" for all sites including doors listed in doors for the Door Exception Calendar. Manage via API must also be enabled for all doors listed in doors.
func (*AccessClient) GetDoors ¶
func (c *AccessClient) GetDoors(options *GetDoorsOptions) (*GetDoorsResponse, error)
Retrieves a list of all doors in the organization. The response can optionally be filtered to doors within sites with the requested site_ids or to the specific doors represented by the specified door_ids. Only one of site_ids or door_ids can be used to filter the response for a single request (not both).
func (*AccessClient) GetExceptionFromCalendar ¶
func (c *AccessClient) GetExceptionFromCalendar(calendar_id string, exception_id string) (*DoorException, error)
Retrieve an Exception having the specified exception_id on a Door Exception Calendar having the specified calendar_id.
To use this API, you need an API Key having permission "Door Access Management" for all sites including doors listed in doors for the Door Exception Calendar. Manage via API must also be enabled for all doors listed in doors.
func (*AccessClient) GetProfilePhoto ¶
func (c *AccessClient) GetProfilePhoto(options *GetProfilePhotoOptions, filename string) error
Retrieve a profile photo for the specified user.
func (*AccessClient) RemoveUserEntryCode ¶
func (c *AccessClient) RemoveUserEntryCode(options *RemoveUserEntryCodeOptions) (*RemoveUserEntryCodeResponse, error)
Given the user defined external ID or Verkada defined user ID (but not both), remove the entry code of a user.
func (*AccessClient) RemoveUserFromAccessGroup ¶
func (c *AccessClient) RemoveUserFromAccessGroup(group_id string, options *RemoveUserFromAccessGroupOptions) (*RemoveUserFromAccessGroupResponse, error)
Remove an access user to an access group with the Verkada defined group ID and the user defined either by their User ID or their External ID.
func (*AccessClient) SendPassInvite ¶
func (c *AccessClient) SendPassInvite(options *SendPassInviteOptions) (*AccessInformationObject, error)
Given the user defined external ID or Verkada defined user ID (but not both), send out a Pass App invite.
func (*AccessClient) SetStartDate ¶
func (c *AccessClient) SetStartDate(start_date string, options *SetStartDateOptions) (*AccessInformationObject, error)
Given the user defined external ID or Verkada defined user ID (but not both), set the start date for an access users credentials to become valid. Before this time, all methods of access specified for this access user will invalid.
func (*AccessClient) SetUserEndDate ¶
func (c *AccessClient) SetUserEndDate(end_date string, options *SetUserEndDateOptions) (*AccessInformationObject, error)
Given the user defined external ID or Verkada defined user ID (but not both), set the end date for an access users credentials to become invalid. After this time, all methods of access will be revoked.
func (*AccessClient) SetUserEntryCode ¶
func (c *AccessClient) SetUserEntryCode(entry_code string, options *SetUserEntryCodeOptions) (*AccessInformationObject, error)
Given the user defined external ID or Verkada defined user ID (but not both), set the entry code for a user.
func (*AccessClient) UpdateAccessLevel ¶
func (c *AccessClient) UpdateAccessLevel(access_level_id string, access_groups []string, access_schedule_events []AccessScheduleEvent, doors []string, name string, sites []string) (*AccessLevel, error)
Updates an Access Level having the specified access_level_id.
To use this API, you need an API Key having permission "Door Access Management" for all sites listed in sites for the Access Level. "Manage via API" must also be enabled for all doors listed in doors.
func (*AccessClient) UpdateAccessScheduleEvent ¶
func (c *AccessClient) UpdateAccessScheduleEvent(access_level_id string, event_id string, end_time string, start_time string, weekday string) (*AccessScheduleEvent, error)
Update an Access Schedule Event having access_schedule_event_id on an Access Level having the specified access_level_id.
To use this API, you need an API Key having permission "Door Access Management" for all sites listed in sites for the Access Level. "Manage via API" must also be enabled for all doors listed in doors.
Verkada API Docs - Update Access Schedule Event on Access Level
func (*AccessClient) UpdateDoorExceptionCalendar ¶
func (c *AccessClient) UpdateDoorExceptionCalendar(calendar_id string, name string, body *UpdateDoorExceptionCalendarBody) (*DoorExceptionCalendar, error)
Update a Door Exception Calendar having the specified calendar_id.
To use this API, you need an API Key having permission "Door Access Management" for all sites including doors listed in doors for the Door Exception Calendar. Manage via API must also be enabled for all doors listed in doors.
func (*AccessClient) UpdateExceptionOnCalendar ¶
func (c *AccessClient) UpdateExceptionOnCalendar(calendar_id string, exception_id string, date string, start_time, end_time string, body *AddExceptionToCalendarBody) (*DoorException, error)
Update an Exception having the specified exception_id on a Door Exception Calendar having the specified calendar_id.
To use this API, you need an API Key having permission "Door Access Management" for all sites including doors listed in doors for the Door Exception Calendar. Manage via API must also be enabled for all doors listed in doors.
Verkada API Docs - Update Exception on Door Exception Calendar
func (*AccessClient) UploadProfilePhoto ¶
func (c *AccessClient) UploadProfilePhoto(options *UploadProfilePhotoOptions, filename string) error
Upload a profile photo for the specified user.
func (*AccessClient) UserUnlockDoor ¶
func (c *AccessClient) UserUnlockDoor(door_id string, options *UserUnlockDoorOptions) (*UserUnlockDoorResponse, error)
Sends a request to unlock a door with door_id as the user with the specified user_id or external_id. The unlock request will only be granted if the user with the specified user_id has door access permissions for that door_id through an Access Level in Verkada Command.
type AccessGroup ¶
type AccessGroupAddition ¶
type AccessGroupMetadata ¶
type AccessInformationObject ¶
type AccessInformationObject struct {
Access_groups []AccessGroup `json:"access_groups"`
Ble_unlock bool `json:"ble_unlock"`
Cards []Card `json:"cards"`
End_date string `json:"end_date"`
Entry_code string `json:"entry_code"`
External_id string `json:"external_id"`
HasProfilePhoto bool `json:"has_profile_photo"`
License_plates []LicensePlate `json:"license_plates"`
Mfa_codes []struct {
Code string `json:"code"`
} `json:"mfa_codes"`
Profile_photo_last_updated string `json:"profile_photo_last_updated"`
Remote_unlock bool `json:"remote_unlock"`
Start_date string `json:"start_date"`
User_id string `json:"user_id"`
}
type AccessLevel ¶
type AccessLevel struct {
Access_groups []string `json:"access_groups"`
Access_level_id string `json:"access_level_id,omitempty"`
Access_schedule_events []AccessScheduleEvent `json:"access_schedule_events"`
Doors []string `json:"doors"`
Last_updated_at int64 `json:"last_updated_at,omitempty"`
Name string `json:"name"`
Sites []string `json:"sites"`
}
type AccessScenario ¶
type AccessScenario struct {
Doors_to_lock []string `json:"doors_to_lock"`
Message string `json:"message"`
Name string `json:"name"`
Scenario_id string `json:"scenario_id"`
Site_count int `json:"site_count"`
Sites []string `json:"sites"`
State string `json:"state"`
Type string `json:"type"`
User_groups_with_disable_access []string `json:"user_groups_with_disable_access"`
User_groups_with_door_access []string `json:"user_groups_with_door_access"`
User_groups_with_enable_access []string `json:"user_groups_with_enable_access"`
}
type AccessScheduleEvent ¶
type AccessUser ¶
type AccessUser struct {
Company_name string `json:"company_name"`
Department string `json:"department"`
Department_id string `json:"department_id"`
Email string `json:"email"`
Employee_id string `json:"employee_id"`
Employee_title string `json:"employee_title"`
External_id string `json:"external_id"`
Full_name string `json:"full_name"`
Has_profile_photo bool `json:"has_profile_photo"`
Profile_photo_last_updated string `json:"profile_photo_last_updated"`
User_id string `json:"user_id"`
}
type ActivateAccessScenarioResponse ¶
type ActivateAccessScenarioResponse struct {
}
type ActivateUserBLEOptions ¶
type AddAccessCardBody ¶
type AddAccessCardOptions ¶
type AddMFACodeOptions ¶
type AddMFACodeResponse ¶
type AddMFACodeResponse struct {
Code string `json:"code"`
}
type AddUserToAccessGroupOptions ¶
type AddUserToAccessGroupOptions struct {
// contains filtered or unexported fields
}
type AddUserToAccessGroupResponse ¶
type AddUserToAccessGroupResponse struct {
}
type AdminUnlockDoorResponse ¶
type AuditLogsDevice ¶
type CameraClient ¶
type CameraClient struct {
// contains filtered or unexported fields
}
func (*CameraClient) CreateLPOI ¶
func (c *CameraClient) CreateLPOI(license_plate string, description string) (*CreateLPOIResponse, error)
Creates a License Plate of Interest for an organization using a specified description and license plate number.
func (*CameraClient) CreateLPOIByCSV ¶
func (c *CameraClient) CreateLPOIByCSV(filename string) (*CreateLPOIByCSVResponse, error)
Create LPOI listed in a .csv file
func (*CameraClient) CreatePOI ¶
func (c *CameraClient) CreatePOI(filename string, label string) (*POIProfile, error)
Creates a Person of Interest for an organization using a specified base64 encoded string of face image and label. File must be a .png or .jpg/.jpeg.
func (*CameraClient) DeleteLPOI ¶
func (c *CameraClient) DeleteLPOI(license_plate string) (*DeleteLPOIResponse, error)
Deletes a license plate from License Plates of Interest using a specified license plate number.
func (*CameraClient) DeleteLPOIByCSV ¶
func (c *CameraClient) DeleteLPOIByCSV(filename string) (*DeleteLPOIByCSVResponse, error)
Delete LPOI listed in a .csv file
[Verkada API Docs - Delete License Plates of Interest by CSV]
func (*CameraClient) DeletePOI ¶
func (c *CameraClient) DeletePOI(person_id string, options *DeletePOIOptions) (*POIProfile, error)
Deletes a Person of Interest from an organization using a specified person ID.
func (*CameraClient) GetAlerts ¶
func (c *CameraClient) GetAlerts(options *GetAlertsOptions) (*GetAlertsResponse, error)
Returns alerts for an organization within a specified time range. Event types include:
- Camera online
- Camera offline
- Tamper
- People and Vehicle Detections
- Crowd
- Person of Interest
- License Plate of Interest
- Line Crossing
- Loitering
func (*CameraClient) GetAllLPOI ¶
func (c *CameraClient) GetAllLPOI(options *GetAllLPOIOptions) (*GetAllLPOIResponse, error)
Returns creation time, description, and license plate number for all License Plates of Interest for an organization.
func (*CameraClient) GetAllPOI ¶
func (c *CameraClient) GetAllPOI(options *GetAllPOIOptions) (*GetAllPOIResponse, error)
Returns the time of creation, label, last time seen, and person ID for each Person of Interest for an organization.
func (*CameraClient) GetCBSettings ¶
func (c *CameraClient) GetCBSettings(camera_id string) (*GetCBSettingsResponse, error)
Retrieve important information on cloud backup for a camera. Includes enabled status, time to save, time to upload, and upload progress.
func (*CameraClient) GetCameraAudioStatus ¶
func (c *CameraClient) GetCameraAudioStatus(camera_id string) (*GetCameraAudioStatusResponse, error)
Return the software enabled status of the specified camera.
func (*CameraClient) GetCameraDevices ¶
func (c *CameraClient) GetCameraDevices(options *GetCameraDevicesOptions) (*GetCameraDevicesResponse, error)
Returns details of all cameras within the organization.
func (*CameraClient) GetDashBoardWidgetTrendData ¶
func (c *CameraClient) GetDashBoardWidgetTrendData(dashboard_id string, body *GetDashboardWidgetTrendDataOptions) (*GetDashboardWidgetTrendDataResponse, error)
Returns all data for a particular dashboard's widgets over a specified time range.
func (*CameraClient) GetDashboardOTData ¶
func (c *CameraClient) GetDashboardOTData(dashboard_id string, options *GetDashboardOTDataOptions) (*GetDashboardOTDataResponse, error)
Returns all occupancy trends data for a particular dashboard over a specified time range.
func (*CameraClient) GetLatestThumbnailImage ¶
func (c *CameraClient) GetLatestThumbnailImage(camera_id string, options *GetLatestThumbnailImageOptions, filename string) error
Returns the latest thumbnail from a specified camera in either low resolution or high resolution.
func (*CameraClient) GetLicensePlateTS ¶
func (c *CameraClient) GetLicensePlateTS(camera_id string, license_plate string, options *GetLicensePlateTSOptions) (*GetLicensePlateTSResponse, error)
Returns the timestamps for a certain license plate. Only works for cameras that are LPR enabled.
func (*CameraClient) GetLinkToFootage ¶
func (c *CameraClient) GetLinkToFootage(camera_id string, options *GetLinkToFootageOptions) (*GetLinkToFootageResponse, error)
Returns link to video footage for a specified camera which will play footage from a specified timestamp.
func (*CameraClient) GetMaxCounts ¶
func (c *CameraClient) GetMaxCounts(camera_id string, options *GetMaxCountsOptions) (*GetMaxCountsResponse, error)
Returns the max count of people and vehicles within a specified time range. Only supported for Verkada cameras in or after the 2nd generation, e.g. CD42 or CD43, not CD41
func (*CameraClient) GetOTCameras ¶
func (c *CameraClient) GetOTCameras() (*GetOTCamerasResponse, error)
Returns a list of of each camera in the organization that supports occupancy trends with its line preset identifiers.
func (*CameraClient) GetOTData ¶
func (c *CameraClient) GetOTData(camera_id string, preset_id string, options *GetOTDataOptions) (*GetOTDataResponse, error)
Returns all occupancy trends data for a particular camera over a specified time range.
func (*CameraClient) GetObjectCounts ¶
func (c *CameraClient) GetObjectCounts(camera_id string, options *GetObjectCountsOptions) (*GetObjectCountsResponse, error)
Returns the count of people and vehicles within a specified time range.
func (*CameraClient) GetSeenPlates ¶
func (c *CameraClient) GetSeenPlates(camera_id string, options *GetSeenPlatesOptions) (*GetSeenPlatesResponse, error)
Returns the timestamps, detected license plate numbers, and images of all license plates seen by a camera. Only works for cameras that are LPR enabled.
func (*CameraClient) GetStreamingToken ¶
func (c *CameraClient) GetStreamingToken() (*GetStreamingTokenResponse, error)
It returns a JWT (JSON Web Token) which provides access to the streaming endpoint for 30 minutes. This is a prerequisite to stream live or historical footage.
func (*CameraClient) GetThumbnailImage ¶
func (c *CameraClient) GetThumbnailImage(camera_id string, options *GetThumbnailImageOptions, filename string) error
Returns a low-resolution or high-resolution thumbnail from a specified camera at or near a specified time.
func (*CameraClient) GetThumbnailLink ¶
func (c *CameraClient) GetThumbnailLink(camera_id string, options *GetThumbnailLinkOptions) (*GetThumbnailLinkResponse, error)
Returns a link to thumbnail image from a specified camera at a specified time.
func (*CameraClient) SetMQTTConfig ¶
func (c *CameraClient) SetMQTTConfig(broker_cert string, broker_host_port string, camera_id string, body *SetMQTTConfigBody) (*SetMQTTConfigResponse, error)
Sets the MQTT config for a particular camera.
func (*CameraClient) StreamFootage ¶
func (c *CameraClient) StreamFootage(org_id string, camera_id string, jwt string, options *GetFootageOptions, filename string) (*StreamFootageResponse, error)
The Streaming API allows users to stream both live and historical footage from cameras using the HLS (HTTP Live Streaming) protocol. The response type includes a formatted link to retrieve the HLS playlist. This link can be fed into video players to automatically retrieve the footage, e.g. "Open Network" function in VLC.
This method will also attempt to write the resulting HLS file to the file given in the "filename" parameter.
- If a file is desired, ensure the filename ends with ".m3u8"
- If no file is desired, input an empty string for filename.
func (*CameraClient) UpdateCBSettings ¶
func (c *CameraClient) UpdateCBSettings(camera_id string, days_to_preserve string, enabled int, time_to_preserve string, upload_timeslot string, video_quality string, video_to_upload string) (*UpdateCBSettingsResponse, error)
Update important information on cloud backup for a camera. Includes enabled status, time to save, and time to upload.
func (*CameraClient) UpdateCameraAudio ¶
func (c *CameraClient) UpdateCameraAudio(camera_id string, enabled bool) (*UpdateCameraAudioResponse, error)
Update the software enabled status of the specified camera.
func (*CameraClient) UpdateLPOI ¶
func (c *CameraClient) UpdateLPOI(license_plate string, description string) (*UpdateLPOIResponse, error)
Updates a license plate description from License Plates of Interest using a specified license plate number.
func (*CameraClient) UpdatePOI ¶
func (c *CameraClient) UpdatePOI(person_id string, label string) (*POIProfile, error)
Updates a label of Person of Interest for an organization using a specified person ID.
type CameraPreset ¶
type ClassicAlarmsClient ¶
type ClassicAlarmsClient struct {
// contains filtered or unexported fields
}
func (*ClassicAlarmsClient) GetAlarmDevices ¶
func (c *ClassicAlarmsClient) GetAlarmDevices(site_id string, options *GetAlarmDevicesOptions) (*GetAlarmDevicesResponse, error)
Gets information about the all the devices in an alarm site specified by site_id.
This method is for Classic Alarms sites and devices ONLY.
func (*ClassicAlarmsClient) GetAlarmSites ¶
func (c *ClassicAlarmsClient) GetAlarmSites(site_ids []string, options *GetAlarmSitesOptions) (*GetAlarmSitesResponse, error)
Returns information about a list of alarm sites
This method is for Classic Alarms sites ONLY.
[Verkada API Docs - GGet Site Information]
type Client ¶
type Client struct {
Key string
TokenContainer auth.TokenContainer
AutoPaginate bool
Helix *HelixClient
Camera *CameraClient
Core *CoreClient
Sensor *SensorClient
Guest *GuestClient
Access *AccessClient
ClassicAlarms *ClassicAlarmsClient
VX *VXClient
// contains filtered or unexported fields
}
A Client contains the overarching information needed to make API calls. All API requests are made via an underlying http.Client. {Product}Client fields are used to organize which methods apply to which products. The API Key is used to obtain a TokenContainer for a short-lived auth token and its expiration.
func New ¶
func New(options *ClientOptions) (*Client, error)
New returns a Client and any errors relating to configuration options. Region (and therefore base URL for requests) is set at Client creation and cannot be changed. Auto-pagination can be enabled so that paginated responses are combined into one response.
func (*Client) MakeVerkadaRequest ¶
func (c *Client) MakeVerkadaRequest(method string, url string, params any, body any, target any, retry int) error
Used by all methods that don't require file upload or download. Handles auth token refresh automatically based on the Client's API key.
Exported so custom requests can be made and can also be used in case new endpoints are not reflected in the package.
func (*Client) MakeVerkadaRequestForFile ¶
func (c *Client) MakeVerkadaRequestForFile(method string, url string, params any, filename string, retry int) error
Used by all methods that require file download (typically csv or pictures). Handles auth token refresh automatically based on the Client's API key.
Exported so custom requests can be made and can also be used in case new endpoints are not reflected in the package.
func (*Client) MakeVerkadaRequestWithFile ¶
func (c *Client) MakeVerkadaRequestWithFile(method string, url string, params any, filename string, filetype string, target any, retry int) error
Used by all methods that require file upload (typically csv or pictures). Handles auth token refresh automatically based on the Client's API key.
Exported so custom requests can be made and can also be used in case new endpoints are not reflected in the package.
type ClientOptions ¶
Potential options for initiating a new Client. Made into a type struct to allow for future non-breaking option additions.
It is recommended to use a .env file for auth.GetEnvFromFile() or os.Setenv() for the API key. The field here is provided in case environment variables are not provided.
type CoreClient ¶
type CoreClient struct {
// contains filtered or unexported fields
}
func (*CoreClient) CreateUser ¶
func (c *CoreClient) CreateUser(body *CreateUserBody) (*CreateUserResponse, error)
Creates a user for in an organization. External ID required. Otherwise, the newly created user will contain a user ID which can be used for identification.
Requires at least one of:
- First name
- Last name
func (*CoreClient) DeleteUser ¶
func (c *CoreClient) DeleteUser(options *DeleteUserOptions) (*DeleteUserResponse, error)
Deletes a user for an organization based on either provided user ID or an external ID set during creation.
func (*CoreClient) GetAuditLogs ¶
func (c *CoreClient) GetAuditLogs(options *GetAuditLogsOptions) (*GetAuditLogsResponse, error)
Returns audit logs for an organization within a specified time range.
func (*CoreClient) GetUser ¶
func (c *CoreClient) GetUser(options *GetUserOptions) (*GetUserResponse, error)
Returns a user for an organization based on either provided user ID or an external ID set during creation.
func (*CoreClient) UpdateUser ¶
func (c *CoreClient) UpdateUser(options *UpdateUserOptions, body *UpdateUserBody) (*UpdateUserResponse, error)
Updates a user's metadata for an organization based on either provided user ID or an external ID set during creation.
type CreateAccessGroupBody ¶
type CreateAccessGroupBody struct {
Name string `json:"name"`
}
type CreateDoorExceptionCalendarBody ¶
type CreateDoorExceptionCalendarBody struct {
Doors []string
Exceptions []DoorException
}
type CreateHelixEventBody ¶
type CreateHelixEventBody struct {
Attributes []HelixAttributeObject
Flagged bool
}
type CreateHelixEventResponse ¶
type CreateHelixEventResponse struct {
}
type CreateLPOIByCSVResponse ¶
type CreateLPOIByCSVResponse struct {
AddedMs int `json:"addedMs"`
}
type CreateLPOIResponse ¶
type CreateProfilePhotoResponse ¶
type CreateProfilePhotoResponse struct {
}
type CreateUserBody ¶
type CreateUserBody struct {
Company_name string `json:"company_name,omitempty"`
Department string `json:"department,omitempty"`
Department_id string `json:"department_id,omitempty"`
Email string `json:"email,omitempty"`
Employee_id string `json:"employee_id,omitempty"`
Employee_title string `json:"employee_title,omitempty"`
Employee_type string `json:"employee_type,omitempty"`
External_id string `json:"external_id,omitempty"`
First_name string `json:"first_name,omitempty"`
Last_name string `json:"last_name,omitempty"`
Middle_name string `json:"middle_name,omitempty"`
Phone string `json:"phone,omitempty"`
}
type CreateUserResponse ¶
type CreateUserResponse struct {
Active *bool `json:"active"`
Company_name string `json:"company_name"`
Department string `json:"department"`
Department_id string `json:"department_id"`
Email string `json:"email"`
Employee_id string `json:"employee_id"`
Employee_title string `json:"employee_title"`
Employee_type string `json:"employee_type"`
External_id string `json:"external_id"`
First_name string `json:"first_name"`
Last_name string `json:"last_name"`
Middle_name string `json:"middle_name"`
Phone string `json:"phone"`
User_id string `json:"user_id"`
}
type DeactivateAccessScenarioResponse ¶
type DeactivateAccessScenarioResponse struct {
}
type DeleteAccessCardOptions ¶
type DeleteAccessCardResponse ¶
type DeleteAccessCardResponse struct {
}
type DeleteAccessGroupOptions ¶
type DeleteAccessGroupOptions struct {
// contains filtered or unexported fields
}
type DeleteAccessGroupResponse ¶
type DeleteAccessGroupResponse struct {
}
type DeleteAccessLevelResponse ¶
type DeleteAccessLevelResponse struct {
}
type DeleteAccessScheduleEventResponse ¶
type DeleteAccessScheduleEventResponse struct {
}
type DeleteDenyListOptions ¶
type DeleteDenyListOptions struct {
// contains filtered or unexported fields
}
type DeleteDenyListResponse ¶
type DeleteDenyListResponse struct {
}
type DeleteDoorExceptionCalendarResponse ¶
type DeleteDoorExceptionCalendarResponse struct {
}
type DeleteExceptionFromCalendarResponse ¶
type DeleteExceptionFromCalendarResponse struct {
}
type DeleteHelixEventOptions ¶
type DeleteHelixEventOptions struct {
// contains filtered or unexported fields
}
type DeleteHelixEventResponse ¶
type DeleteHelixEventResponse struct {
}
type DeleteHelixEventTypeOptions ¶
type DeleteHelixEventTypeOptions struct {
// contains filtered or unexported fields
}
type DeleteHelixEventTypeResponse ¶
type DeleteHelixEventTypeResponse struct {
}
type DeleteLPOIByCSVResponse ¶
type DeleteLPOIByCSVResponse struct {
AddedMs int `json:"addedMs"`
}
type DeleteLPOIOptions ¶
type DeleteLPOIOptions struct {
// contains filtered or unexported fields
}
type DeleteLPOIResponse ¶
type DeleteMFACodeOptions ¶
type DeleteMFACodeResponse ¶
type DeleteMFACodeResponse struct {
}
type DeletePOIOptions ¶
type DeletePOIOptions struct {
// contains filtered or unexported fields
}
type DeleteProfilePhotoResponse ¶
type DeleteProfilePhotoResponse struct {
}
type DeleteUserLicensePlateResponse ¶
type DeleteUserLicensePlateResponse struct {
}
type DeleteUserOptions ¶
type DeleteUserResponse ¶
type DeleteUserResponse struct {
}
type DoorException ¶
type DoorException struct {
All_day_default bool `json:"all_day_default,omitempty"`
Calendar_id string `json:"calendar_id,omitempty"`
Date string `json:"date"`
Door_exception_id string `json:"door_exception_id,omitempty"`
Door_status string `json:"door_status"`
Double_badge bool `json:"double_badge,omitempty"`
Double_badge_group_ids []string `json:"double_badge_group_ids,omitempty"`
End_time string `json:"end_time"`
First_person_in bool `json:"first_person_in,omitempty"`
First_person_in_group_ids []string `json:"first_person_in_group_ids,omitempty"`
Recurrence_rule *RecurrenceRule `json:"recurrence_rule,omitempty"`
Start_time string `json:"start_time"`
}
type DoorExceptionCalendar ¶
type DoorExceptionCalendar struct {
Door_exception_calendar_id string `json:"door_exception_calendar_id,omitempty"`
Doors []string `json:"doors"`
Exceptions []DoorException `json:"exceptions"`
Last_updated_at int64 `json:"last_updated_at,omitempty"`
Name string `json:"name"`
}
type EventInfo ¶
type EventInfo struct {
Accepted bool `json:"accepted"`
Aux_input_id string `json:"auxInputId"`
Aux_input_name string `json:"auxInputName"`
Building_id string `json:"buildingId"`
Building_name string `json:"buildingName"`
Direction string `json:"direction"`
Door_id string `json:"doorId"`
Door_info DoorInfo `json:"doorInfo"`
Entity_id string `json:"entityId"`
Entity_name string `json:"entityName"`
Entity_type string `json:"entityType"`
Event_type string `json:"eventType"`
Floor_id string `json:"floorId"`
Floor_name string `json:"floorName"`
Floors []Floors `json:"floors"`
Input_value string `json:"inputValue"`
Lockdown_info LockdownInfo `json:"lockdownInfo"`
Message string `json:"message"`
Organization_id string `json:"organizationId"`
Raw_card string `json:"rawCard"`
Site_id string `json:"siteId"`
Site_name string `json:"siteName"`
Type string `json:"type"`
User_id string `json:"userId"`
User_info UserInfo `json:"userInfo"`
User_name string `json:"userName"`
Uuid string `json:"uuid"`
}
type Events ¶
type Events struct {
Device_id string `json:"device_id"`
Device_type string `json:"device_type"`
End_timestamp string `json:"end_timestamp"`
Event_id string `json:"event_id"`
Event_info EventInfo `json:"event_info"`
Event_type string `json:"event_type"`
Organization_id string `json:"organization_id"`
Site_id string `json:"site_id"`
Timestamp string `json:"timestamp"`
}
type GetAccessEventsOptions ¶
type GetAccessEventsOptions struct {
Start_time *int `name:"start_time"`
End_time *int `name:"end_time"`
Page_token string `name:"page_token"`
Page_size *int `name:"page_size"`
Event_type []string `name:"event_type"`
Site_id string `name:"site_id"`
Device_id string `name:"device_id"`
User_id string `name:"user_id"`
}
type GetAccessEventsResponse ¶
type GetAccessGroupOptions ¶
type GetAccessGroupOptions struct {
// contains filtered or unexported fields
}
type GetAlarmDevicesOptions ¶
type GetAlarmDevicesOptions struct {
Device_ids []string `name:"device_ids"`
// contains filtered or unexported fields
}
type GetAlarmDevicesResponse ¶
type GetAlarmSitesOptions ¶
type GetAlarmSitesOptions struct {
Site_ids []string `name:"site_ids"`
}
type GetAlarmSitesResponse ¶
type GetAlertsOptions ¶
type GetAlertsResponse ¶
type GetAlertsResponse struct {
Next_page_token string `json:"next_page_token"`
Notifications []struct {
Camera_id string `json:"camera_id"`
Created int `json:"created"`
Crowd_threshold int `json:"crowd_threshold"`
Image_url string `json:"image_url"`
Notification_type string `json:"notification_type"`
Objects []string `json:"objects"`
Person_label string `json:"person_label"`
Video_url string `json:"video_url"`
} `json:"notifications"`
}
type GetAllAccessGroupsResponse ¶
type GetAllAccessGroupsResponse struct {
Access_groups []AccessGroupMetadata `json:"access_groups"`
}
type GetAllAccessLevelsResponse ¶
type GetAllAccessLevelsResponse struct {
Access_levels []AccessLevel `json:"access_levels"`
}
type GetAllAccessScenariosResponse ¶
type GetAllAccessScenariosResponse struct {
Scenarios []AccessScenario `json:"scenarios"`
}
type GetAllAccessUsersResponse ¶
type GetAllAccessUsersResponse struct {
Access_members []AccessUser `json:"access_members"`
}
type GetAllDoorExceptionCalendarsOptions ¶
type GetAllDoorExceptionCalendarsOptions struct {
Last_updated_after *int `name:"last_updated_after"`
}
type GetAllDoorExceptionCalendarsResponse ¶
type GetAllDoorExceptionCalendarsResponse struct {
Door_exception_calendars []DoorExceptionCalendar `json:"door_exception_calendars"`
}
type GetAllLPOIOptions ¶
type GetAllLPOIResponse ¶
type GetAllPOIOptions ¶
type GetAllPOIResponse ¶
type GetAllPOIResponse struct {
Next_token string `json:"next_token"`
Persons_of_interest []POIProfile `json:"persons_of_interest"`
}
type GetAuditLogsOptions ¶
type GetAuditLogsResponse ¶
type GetAuditLogsResponse struct {
Audit_logs []struct {
Details any `json:"details"`
Devices []AuditLogsDevice `json:"devices"`
Event_description string `json:"event_description"`
Event_name string `json:"event_name"`
Ip_address string `json:"ip_address"`
Organization_id string `json:"organization_id"`
Processed_timestamp string `json:"processed_timestamp"`
Timestamp string `json:"timestamp"`
User_email string `json:"user_email"`
User_id string `json:"user_id"`
User_name string `json:"user_name"`
Verkada_support_id string `json:"verkada_support_id"`
} `json:"audit_logs"`
Next_page_token string `json:"next_page_token"`
}
type GetCBSettingsOptions ¶
type GetCBSettingsOptions struct {
// contains filtered or unexported fields
}
type GetCBSettingsResponse ¶
type GetCBSettingsResponse struct {
Camera_id string `json:"camera_id"`
Days_to_preserve string `json:"days_to_preserve"`
Enabled int `json:"enabled"`
Last_updated_segment_hq string `json:"last_updated_segment_hq"`
Last_updated_segment_sq string `json:"last_updated_segment_sq"`
Time_to_preserve string `json:"time_to_preserve"`
Upload_timeslot string `json:"upload_timeslot"`
Video_quality string `json:"video_quality"`
Video_to_upload string `json:"video_to_upload"`
}
type GetCameraAudioStatusOptions ¶
type GetCameraAudioStatusOptions struct {
// contains filtered or unexported fields
}
type GetCameraDevicesOptions ¶
type GetCameraDevicesResponse ¶
type GetCameraDevicesResponse struct {
Cameras []struct {
Camera_id string `json:"camera_id"`
Cloud_retention int `json:"cloud_retention"`
Date_added int `json:"date_added"`
Device_retention int `json:"device_retention"`
Firmware string `json:"firmware"`
Firmware_update_schedule string `json:"firmware_update_schedule"`
Last_online int `json:"last_online"`
Local_ip string `json:"local_ip"`
Location string `json:"location"`
Location_angle float64 `json:"location_angle"`
Location_lat float64 `json:"location_lat"`
Location_lon float64 `json:"location_lon"`
Mac string `json:"mac"`
Model string `json:"model"`
Name string `json:"name"`
People_history_enabled bool `json:"people_history_enabled"`
Serial string `json:"serial"`
Site string `json:"site"`
Site_id string `json:"site_id"`
Status string `json:"status"`
Timezone string `json:"timezone"`
Vehicle_history_enabled bool `json:"vehicle_history_enabled"`
} `json:"cameras"`
Next_page_token string `json:"next_page_token"`
}
type GetDashboardOTDataResponse ¶
type GetDashboardOTDataResponse struct {
Dashboard_id string `json:"dashboard_id"`
Dashboard_name string `json:"dashboard_name"`
End_time int `json:"end_time"`
Occupancy [][]int `json:"occupancy"`
Org_id string `json:"org_id"`
Org_name string `json:"org_name"`
Start_time int `json:"start_time"`
Trend_in [][]int `json:"trend_in"`
Trend_out [][]int `json:"trend_out"`
}
type GetDashboardWidgetTrendDataOptions ¶
type GetDashboardWidgetTrendDataOptions struct {
End_time string `json:"end_time,omitempty"`
Interval string `json:"interval,omitempty"`
Site_ids []string `json:"site_ids,omitempty"`
Start_time string `json:"start_time,omitempty"`
Widget_ids []string `json:"widget_ids,omitempty"`
Widget_types []string `json:"widget_types,omitempty"`
}
type GetDashboardWidgetTrendDataResponse ¶
type GetDashboardWidgetTrendDataResponse struct {
Dashboard_id string `json:"dashboard_id"`
Dashboard_name string `json:"dashboard_name"`
End_time string `json:"end_time"`
Interval string `json:"interval"`
Start_time string `json:"start_time"`
Widgets []struct {
ConversionData struct {
Conversion_rates map[string]float64 `json:"conversion_rates"`
Helix_cameras_used []string `json:"helix_cameras_used"`
Helix_counts map[string]float64 `json:"helix_counts"`
Occupancy_camera_presets_used []CameraPreset `json:"occupancy_camera_presets_used"`
Occupancy_in map[string]float64 `json:"occupancy_in"`
} `json:"conversion_data"`
HelixData struct {
Cameras_used []string `json:"cameras_used"`
Helix_stats any `json:"helix_stats"`
} `json:"helix_data"`
OccupancyData struct {
Camera_presets_used []CameraPreset `json:"camera_presets_used"`
In_counts map[string]float64 `json:"in_counts"`
Net_occupancy map[string]float64 `json:"net_occupancy"`
Out_counts map[string]float64 `json:"out_counts"`
} `json:"occupancy_data"`
QueueData struct {
Avg_queue_length map[string]float64 `json:"avg_queue_length"`
Avg_wait_time map[string]float64 `json:"avg_wait_time"`
Camera_presets_used []CameraPreset `json:"camera_presets_used"`
Max_queue_length map[string]float64 `json:"max_queue_length"`
Max_wait_time map[string]float64 `json:"max_wait_time"`
} `json:"queue_data"`
Widget_id string `json:"widget_id"`
Widget_name string `json:"widget_name"`
Widget_type string `json:"widget_type"`
} `json:"widgets"`
}
type GetDoorsOptions ¶
type GetDoorsResponse ¶
type GetDoorsResponse struct {
Doors []Door `json:"doors"`
}
type GetFootageOptions ¶
type GetGuestSitesResponse ¶
type GetGuestTypesOptions ¶
type GetGuestTypesResponse ¶
type GetGuestVisitsOptions ¶
type GetGuestVisitsResponse ¶
type GetGuestVisitsResponse struct {
Visits []struct {
Approval_status string `json:"approval_status"`
Check_in_time int `json:"check_in_time"`
Deleted bool `json:"deleted"`
Device_name string `json:"device_name"`
Guest guestInfo `json:"guest"`
Host hostInfo `json:"host"`
Host_approval_status string `json:"host_approval_status"`
Hosts []hostInfo `json:"hosts"`
Is_contactless bool `json:"is_contactless"`
Next_page_token string `json:"next_page_token"`
Open_ended_responses []openEndedResponse `json:"open_ended_responses"`
Questionnaires []questionnaire `json:"questionnaires"`
Security_screen_status string `json:"security_screen_status"`
Sign_out_time int `json:"sign_out_time"`
Signatures []signature `json:"signatures"`
Site_id string `json:"site_id"`
Visit_id string `json:"visit_id"`
Visit_type string `json:"visit_type"`
} `json:"visits"`
}
type GetHelixEventOptions ¶
type GetHelixEventOptions struct {
// contains filtered or unexported fields
}
type GetHelixEventResponse ¶
type GetHostsOptions ¶
type GetHostsResponse ¶
type GetHostsResponse struct {
Cursor string `json:"cursor"`
Items []struct {
Email string `json:"email"`
First_name string `json:"first_name"`
Full_name string `json:"full_name"`
Has_delegate bool `json:"has_delegate"`
Host_id string `json:"host_id"`
Last_name string `json:"last_name"`
Original_first_name string `json:"original_first_name"`
Phone_number string `json:"phone_number"`
Requires_host_approval bool `json:"requires_host_approval"`
}
}
type GetLatestThumbnailImageOptions ¶
type GetLatestThumbnailImageOptions struct {
Resolution string `name:"resolution"`
// contains filtered or unexported fields
}
type GetLinkToFootageOptions ¶
type GetLinkToFootageOptions struct {
Timestamp string `name:"timestamp"`
// contains filtered or unexported fields
}
type GetLinkToFootageResponse ¶
type GetLinkToFootageResponse struct {
Url string `json:"url"`
}
type GetMaxCountsOptions ¶
type GetMaxCountsResponse ¶
type GetOTCamerasResponse ¶
type GetOTDataOptions ¶
type GetOTDataResponse ¶
type GetOTDataResponse struct {
Camera_address string `json:"camera_address"`
Camera_id string `json:"camera_id"`
Camera_name string `json:"camera_name"`
Camera_site string `json:"camera_site"`
End_time int `json:"end_time"`
Org_id string `json:"org_id"`
Org_name string `json:"org_name"`
Preset_id string `json:"preset_id"`
Start_time int `json:"start_time"`
Trend_in [][]int `json:"trend_in"`
Trend_out [][]int `json:"trend_out"`
Type string `json:"type"`
}
type GetObjectCountsOptions ¶
type GetObjectCountsResponse ¶
type GetProfilePhotoOptions ¶
type GetSeenPlatesOptions ¶
type GetSeenPlatesResponse ¶
type GetSeenPlatesResponse struct {
Camera_id string `json:"camera_id"`
Detections []struct {
Image_url string `json:"image_url"`
License_plate string `json:"license_plate"`
Timestamp int `json:"timestamp"`
Vehicle_image_url string `json:"vehicle_image_url"`
} `json:"detections"`
Next_page_token int `json:"next_page_token"`
}
type GetSensorAlertsOptions ¶
type GetSensorAlertsResponse ¶
type GetSensorAlertsResponse struct {
Alert_events []struct {
Alert_event_id string `json:"alert_event_id"`
Device_id string `json:"device_id"`
Device_name string `json:"device_name"`
Device_serial string `json:"device_serial"`
End_time int `json:"end_time"`
Is_above_max_event bool `json:"is_above_max_event"`
Most_extreme_value int `json:"most_extreme_value"`
Reading string `json:"reading"`
Start_time int `json:"start_time"`
Threshold int `json:"threshold"`
} `json:"alert_events"`
Next_page_token string `json:"next_page_token"`
}
type GetSensorDataOptions ¶
type GetSensorDataResponse ¶
type GetSensorDataResponse struct {
Data []struct {
Heat_index float64 `json:"heat_index"`
Humidity float64 `json:"humidity"`
Motion int `json:"motion"`
Noise_level float64 `json:"noise_level"`
Pm_1_0_0 float64 `json:"pm_1_0_0"`
Pm_2_5 float64 `json:"pm_2_5"`
Pm_4_0 float64 `json:"pm_4_0"`
Tamper int `json:"tamper"`
Temperature float64 `json:"temperature"`
Time int `json:"time"`
Tvoc int `json:"tvoc"`
Usa_air_quality_index int `json:"usa_air_quality_index"`
Vape_index int `json:"vape_index"`
Vape_index_experimental int `json:"vape_index_experimental"`
} `json:"data"`
Device_id string `json:"device_id"`
Device_name string `json:"device_name"`
Device_serial string `json:"device_serial"`
Interval string `json:"interval"`
Next_page_token string `json:"next_page_token"`
}
type GetThumbnailLinkOptions ¶
type GetUserOptions ¶
type GetUserResponse ¶
type GetUserResponse struct {
Active *bool `json:"active"`
Company_name string `json:"company_name"`
Department string `json:"department"`
Department_id string `json:"department_id"`
Email string `json:"email"`
Employee_id string `json:"employee_id"`
Employee_title string `json:"employee_title"`
Employee_type string `json:"employee_type"`
External_id string `json:"external_id"`
First_name string `json:"first_name"`
Last_name string `json:"last_name"`
Middle_name string `json:"middle_name"`
Phone string `json:"phone"`
User_id string `json:"user_id"`
}
type GetVXDevicesResponse ¶
type GetVXDevicesResponse struct {
Devices []struct {
App_version string `json:"app_version"`
Claimed_serial_number string `json:"claimed_serial_number"`
Device_id string `json:"device_id"`
Ip_address string `json:"ip_address"`
Last_seen_at string `json:"last_seen_at"`
Last_status string `json:"last_status"`
Location string `json:"location"`
Location_lat int `json:"location_lat"`
Location_lon int `json:"location_lon"`
Name string `json:"name"`
Site_id string `json:"site_id"`
Timezone string `json:"timezone"`
} `json:"devices"`
}
type GuestClient ¶
type GuestClient struct {
// contains filtered or unexported fields
}
func (*GuestClient) DeleteDenyList ¶
func (c *GuestClient) DeleteDenyList(site_id string) (*DeleteDenyListResponse, error)
Deletes all deny list entries, including the CSV, POI entries, and photos from the specified site.
func (*GuestClient) GetGuestSites ¶
func (c *GuestClient) GetGuestSites() (*GetGuestSitesResponse, error)
Returns a list of Guest sites in an organization.
func (*GuestClient) GetGuestTypes ¶
func (c *GuestClient) GetGuestTypes(site_id string, options *GetGuestTypesOptions) (*GetGuestTypesResponse, error)
Returns a list of Guest types applied to a site.
func (*GuestClient) GetGuestVisits ¶
func (c *GuestClient) GetGuestVisits(site_id string, start_time *int, end_time *int, options *GetGuestVisitsOptions) (*GetGuestVisitsResponse, error)
Returns a list of visits in a site. Maximum timeframe is one day (86,400 second difference between start_time and end_time).
func (*GuestClient) GetHosts ¶
func (c *GuestClient) GetHosts(site_id string, options *GetHostsOptions) (*GetHostsResponse, error)
Returns a list of hosts in a site.
func (*GuestClient) PostDenyList ¶
func (c *GuestClient) PostDenyList(site_id string, uploadFilename string) (*PostDenyListResponse, error)
Uploads a deny list in csv format to the specified site. Will overwrite any existing site deny list.
type HelixAttributeObject ¶
type HelixClient ¶
type HelixClient struct {
// contains filtered or unexported fields
}
func (*HelixClient) CreateHelixEvent ¶
func (c *HelixClient) CreateHelixEvent(camera_id string, time_ms int64, event_type_uid string, body *CreateHelixEventBody) (*CreateHelixEventResponse, error)
This method can be used to generate a Helix Event in Command. Users will be able to specify the attribute values for each attribute key that was previously defined in the Event Type creation process. To successfully create a Helix Event, users will need to input the associated Camera ID, Event Type UID, and the exact event epoch timestamp in milliseconds.
Users are not required to provide an attribute value for all of the attribute keys tied to that specific Event Type. If an attribute value is not available or does not exist, users can simply disregard the attribute altogether when making the POST request.
func (*HelixClient) CreateHelixEventType ¶
func (c *HelixClient) CreateHelixEventType(event_schema map[string]string, name string) (*CreateHelixEventTypeResponse, error)
This method can be used to generate an Event Type by defining the Event Type schema. The event_schema is a map with strings for both keys and values.
Each key will be the field name for a Helix event type attributes. The corresponding value must be a string representing the desired data type for that field: "string", "integer", "float", or "boolean"
func (*HelixClient) DeleteHelixEvent ¶
func (c *HelixClient) DeleteHelixEvent(camera_id string, time_ms int64, event_type_uid string) (*DeleteHelixEventResponse, error)
This method can be used to delete a Helix event from Command. The required parameters to successfully delete a Helix event are the associated Camera ID, Event Type UID, and the exact event epoch time in milliseconds.
func (*HelixClient) DeleteHelixEventType ¶
func (c *HelixClient) DeleteHelixEventType(event_type_uid string) (*DeleteHelixEventTypeResponse, error)
This method can be used to delete an Event Type from Command. The required parameter to successfully delete an Event Type is the Event Type UID.
Note: Once you have deleted an Event Type UID, you will no longer be able to use that specific Event Type UID to create any future Helix Events. Additionally, all Helix Events linked to this Event Type UID will be deleted from Command.
func (*HelixClient) GetHelixEvent ¶
func (c *HelixClient) GetHelixEvent(camera_id string, time_ms int64, event_type_uid string) (*GetHelixEventResponse, error)
This method can be used to retrieve a Helix Event that has already been posted to Command. In the return message, the users will be able to see the corresponding attribute values for that unique event. To successfully retrieve a Helix Event, users will need to input the associated Camera ID, Event Type UID, and the exact event epoch time in milliseconds.
func (*HelixClient) GetHelixEventTypes ¶
func (c *HelixClient) GetHelixEventTypes(options *GetHelixEventTypesOptions) (*GetHelixEventTypesResponse, error)
This method can be used to retrieve a complete list of all Event Types from a specific Command organization, along with its associated names and schemas. Users can specify either an Event Type UID or an Event Type name to only retrieve the information tied to that specific Event Type.
func (*HelixClient) SearchHelixEvent ¶
func (c *HelixClient) SearchHelixEvent(body *SearchHelixEventBody) (*SearchHelixEventResponse, error)
This method can be used to search for either a single or multiple Helix Events that have already been posted to Command. In the return message, the users will be able to see the corresponding attribute keys and attribute values for those specific Helix Events.
The only required parameters to search for Helix Events is a Verkada API Token with Helix permissions. Users will be returned a complete list of all Helix Events that are currently available in Command. Users can further narrow down their search by adding:
- Camera ID: returns all Helix Events linked to that specific camera or list of cameras.
- Event Type UID: returns all Helix Events that share that specific Event Type UID.
- Start and End Times: returns all Helix Events that have occurred during that time range.
- Attributes Keys and Values: returns all Helix Events that have attributes keys and values matching the user's entered parameters.
func (*HelixClient) UpdateHelixEvent ¶
func (c *HelixClient) UpdateHelixEvent(camera_id string, time_ms int64, event_type_uid string, body *UpdateHelixEventBody) (*UpdateHelixEventResponse, error)
This method can be used to update a Helix Event that has already been posted to Command. This is especially useful if a user needs to add an additional attribute key to the existing event, along with its new corresponding value. To successfully update a Helix Event, users will need to input the associated Camera ID, Event Type UID, exact event epoch time in milliseconds, as well as the new attribute key and attribute value that is being updated.
func (*HelixClient) UpdateHelixEventType ¶
func (c *HelixClient) UpdateHelixEventType(event_type_uid string, event_schema map[string]string, name string) (*UpdateHelixEventTypeResponse, error)
This method can be used to update an Event Type. This is especially useful if a user needs to add an additional attribute key to the existing Event Type or change the name of the Event Type. To successfully update an Event Type, users will need to input the Event Type UID as well as the new attribute keys or Event Type name that is being updated.
If either event_schema or name are left empty, that aspect will not be affected. Importantly, if event_schema is not empty, only the included keys and data types will be in the updated Helix Event Type.
The event_schema is a map with strings for both keys and values.
Each key will be the field name for a Helix event type attributes. The corresponding value must be a string representing the desired data type for that field: "string", "integer", "float", or "boolean"
type LicensePlate ¶
type LockdownInfo ¶
type POIProfile ¶
type PostDenyListBody ¶
type PostDenyListBody struct {
Base64_ascii_deny_list_csv string `json:"base64_ascii_deny_list_csv"`
}
type PostDenyListOptions ¶
type PostDenyListOptions struct {
// contains filtered or unexported fields
}
type PostDenyListResponse ¶
type RecurrenceRule ¶
type RecurrenceRule struct {
By_day []string `json:"by_day"`
By_month int `json:"by_month"`
By_month_day int `json:"by_month_day"`
By_set_pos int `json:"by_set_pos"`
Count int `json:"count"`
Excluded_Dates []string `json:"excluded_dates"`
Frequency string `json:"frequency"`
Interval *int `json:"interval"`
Until string `json:"until"`
}
type RemoveUserEntryCodeResponse ¶
type RemoveUserEntryCodeResponse struct {
}
type RemoveUserFromAccessGroupResponse ¶
type RemoveUserFromAccessGroupResponse struct {
}
type SearchHelixEventBody ¶
type SearchHelixEventBody struct {
Attribute_filters []struct {
Attribute_key string `json:"attribute_key"`
Attribute_value string `json:"attribute_value"`
Op string `json:"op"`
} `json:"attribute_filters,omitempty"`
Camera_ids []string `json:"camera_ids,omitempty"`
End_time_ms int64 `json:"end_time_ms,omitempty"`
Event_type_uid string `json:"event_type_uid,omitempty"`
Flagged bool `json:"flagged,omitempty"`
Keywords []string `json:"keywords,omitempty"`
Start_time_ms int64 `json:"start_time_ms,omitempty"`
}
type SendPassInviteOptions ¶
type SensorClient ¶
type SensorClient struct {
// contains filtered or unexported fields
}
func (*SensorClient) GetSensorAlerts ¶
func (c *SensorClient) GetSensorAlerts(device_ids []string, options *GetSensorAlertsOptions) (*GetSensorAlertsResponse, error)
Returns all alerts for all (or subset of) sensors in an org over a specified time range.
func (*SensorClient) GetSensorData ¶
func (c *SensorClient) GetSensorData(device_id string, options *GetSensorDataOptions) (*GetSensorDataResponse, error)
Returns all sensor readings for a particular sensor over a specified time range.
type SetMQTTConfigBody ¶
type SetMQTTConfigResponse ¶
type SetStartDateOptions ¶
type SetUserEndDateOptions ¶
type SetUserEntryCodeOptions ¶
type StreamFootageResponse ¶
type StreamFootageResponse struct {
Streaming_link string `json:"streaming_link"`
}
type UpdateCBSettingsResponse ¶
type UpdateCBSettingsResponse struct {
}
type UpdateCameraAudioResponse ¶
type UpdateCameraAudioResponse struct {
}
type UpdateDoorExceptionCalendarBody ¶
type UpdateDoorExceptionCalendarBody struct {
Doors []string
Exceptions []DoorException
}
type UpdateHelixEventBody ¶
type UpdateHelixEventBody struct {
Attributes []HelixAttributeObject
Flagged bool `json:"flagged"`
}
type UpdateHelixEventOptions ¶
type UpdateHelixEventOptions struct {
// contains filtered or unexported fields
}
type UpdateHelixEventResponse ¶
type UpdateHelixEventResponse struct {
}
type UpdateHelixEventTypeOptions ¶
type UpdateHelixEventTypeOptions struct {
// contains filtered or unexported fields
}
type UpdateHelixEventTypeResponse ¶
type UpdateHelixEventTypeResponse struct {
}
type UpdateLPOIOptions ¶
type UpdateLPOIOptions struct {
// contains filtered or unexported fields
}
type UpdateLPOIResponse ¶
type UpdatePOIOptions ¶
type UpdatePOIOptions struct {
// contains filtered or unexported fields
}
type UpdateUserBody ¶
type UpdateUserBody struct {
Company_name string `json:"company_name,omitempty"`
Department string `json:"department,omitempty"`
Department_id string `json:"department_id,omitempty"`
Email string `json:"email,omitempty"`
Employee_id string `json:"employee_id,omitempty"`
Employee_title string `json:"employee_title,omitempty"`
Employee_type string `json:"employee_type,omitempty"`
External_id string `json:"external_id,omitempty"`
First_name string `json:"first_name,omitempty"`
Last_name string `json:"last_name,omitempty"`
Middle_name string `json:"middle_name,omitempty"`
Phone string `json:"phone,omitempty"`
}
type UpdateUserOptions ¶
type UpdateUserResponse ¶
type UpdateUserResponse struct {
Active *bool `json:"active"`
Company_name string `json:"company_name"`
Department string `json:"department"`
Department_id string `json:"department_id"`
Email string `json:"email"`
Employee_id string `json:"employee_id"`
Employee_title string `json:"employee_title"`
Employee_type string `json:"employee_type"`
External_id string `json:"external_id"`
First_name string `json:"first_name"`
Last_name string `json:"last_name"`
Middle_name string `json:"middle_name"`
Phone string `json:"phone"`
User_id string `json:"user_id"`
}
type UserUnlockDoorOptions ¶
type UserUnlockDoorResponse ¶
type VXClient ¶
type VXClient struct {
// contains filtered or unexported fields
}
func (*VXClient) GetVXDevices ¶
func (c *VXClient) GetVXDevices() (*GetVXDevicesResponse, error)
Gets information about the all the Viewing Stations in an organization.
Source Files
¶
- access_methods.go
- access_objects.go
- access_params.go
- access_responses.go
- camera_methods.go
- camera_params.go
- camera_responses.go
- classicalarms_methods.go
- classicalarms_params.go
- classicalarms_responses.go
- client.go
- core_methods.go
- core_params.go
- core_responses.go
- guest_methods.go
- guest_params.go
- guest_responses.go
- helix_methods.go
- helix_params.go
- helix_responses.go
- sensor_methods.go
- sensor_params.go
- sensor_responses.go
- vx_methods.go
- vx_params.go
- vx_responses.go