Skip to content

Security · Beta

UniFi On Prem
API integration

Ship Security features without building the integration. Full UniFi On Prem API access via Proxy, normalized data through Unified APIs, and 100+ MCP-ready tools for AI agents — all extensible to your exact use case.

Built for specific customer use cases. Issues are resolved quickly.

Talk to us
UniFi On Prem

Use Cases

Why integrate with UniFi On Prem

Common scenarios for SaaS companies building UniFi On Prem integrations for their customers.

01

Automate physical access provisioning from HRIS

HR and IT orchestration platforms can create UniFi users, assign them to role-based user groups, upload profile photos, and send Identity app invitations the moment an employee is hired — eliminating manual badge issuance on day one.

02

Power visitor management with temporary credentials

Front-desk and visitor management SaaS can create UniFi visitors, generate time-bound PIN codes, QR codes, or license plate entries tied to a schedule, and automatically revoke access when the visit ends.

03

Link space bookings to door access

Coworking and desk-booking platforms can assign access policies, NFC cards, or Touch Passes scoped to a booking window, so members only unlock the rooms and floors they've paid for during the exact time they've booked.

04

Stream physical security events into SIEM and compliance tools

Security monitoring platforms can consume UniFi webhooks and system logs to build audit trails of door access, detect anomalies, and trigger emergency lockdowns programmatically when a threat is identified.

05

Enable remote door control for PropTech and delivery workflows

Property management and delivery SaaS can remotely unlock doors, set temporary locking rules for events, and pre-provision license plates for expected vehicles — all without operators touching the UniFi console.

What You Can Build

Ship these features with Truto + UniFi On Prem

Concrete product features your team can ship faster by leveraging Truto’s UniFi On Prem integration instead of building from scratch.

01

Full credential lifecycle management

Issue, assign, and revoke NFC cards, PIN codes, QR codes, Touch Passes, and license plates for both users and visitors from within your product's UI.

02

Group-based access policy sync

Create UniFi user groups mirroring your customer's org structure and bind them to access policies and schedules so permissions propagate automatically as membership changes.

03

Remote unlock and emergency lockdown controls

Surface one-click remote door unlock, temporary locking rules, and facility-wide emergency status toggles inside your security or operations dashboard.

04

Real-time door and intercom event feeds

Subscribe to UniFi webhooks and websocket notifications to react to doorbell rings, badge scans, and access denials in real time within your product.

05

Unified identity resource assignment

Assign physical access alongside network resources like WiFi, VPN, and EV charging to individual users or groups through a single onboarding flow.

06

Compliance-ready audit log export

Pull and export UniFi system logs on a schedule to power audit reports showing exactly who accessed which door, when, and with which credential.

SuperAI

UniFi On Prem AI agent tools

Comprehensive AI agent toolset with fine-grained control. Integrates with MCP clients like Cursor and Claude, or frameworks like LangChain.

create_a_uni_fi_on_prem_user

Register a new user in UniFi Access. Returns the created user object including its id, first_name, last_name, user_email, employee_number, onboard_time, status, and assigned access policies. Required: first_name, last_name.

update_a_uni_fi_on_prem_user_by_id

Update a user's details in UniFi Access by id. Returns the updated user object including its id, first_name, last_name, user_email, employee_number, onboard_time, status, and assigned access policies. Required: id.

get_single_uni_fi_on_prem_user_by_id

Get a single UniFi Access user by id. Returns the full user object including its id, first_name, last_name, user_email, employee_number, onboard_time, status, access policies, NFC cards, license plates, PIN code, and touch pass. Required: id.

list_all_uni_fi_on_prem_users

List all UniFi Access users with pagination. Returns each user's id, first_name, last_name, user_email, employee_number, onboard_time, status, access policies, NFC cards, license plates, PIN code, and touch pass. Optional: expand to include access policies.

uni_fi_on_prem_users_assign_access_policy

Assign or replace access policies for a UniFi Access user. Pass an array of access policy IDs to set the user's assigned policies; pass an empty array to remove all policies. Returns an empty 204 response on success. Required: user_id, access_policy_ids.

uni_fi_on_prem_users_assign_nfc_card

Assign an NFC card to a UniFi Access user by providing the card token. Use force_add to overwrite a card already assigned to another user. Returns a success confirmation with no data payload. Required: user_id, token.

uni_fi_on_prem_users_unassign_nfc_card

Unassign an NFC card from a UniFi Access user by providing the card token. Returns a success confirmation with no data payload. Required: user_id, token.

uni_fi_on_prem_users_assign_pin_code

Assign a PIN code to a UniFi Access user for unlocking doors. Returns a success confirmation with no data payload. Required: user_id, pin_code.

uni_fi_on_prem_users_unassign_pin_code

Unassign the PIN code from a UniFi Access user. Returns a success confirmation with no data payload. Required: user_id.

uni_fi_on_prem_users_list_access_policies

List the access policies assigned to a UniFi Access user, including policies inherited from the user's group unless filtered. Returns: id, name, resources, schedule_id. Required: user_id.

delete_a_uni_fi_on_prem_user_by_id

Delete a UniFi Access user by id. Returns an empty 204 response on success. Required: id.

uni_fi_on_prem_users_search

Search UniFi Access users. Returns matching user records including id, first_name, last_name, full_name, email, user_email, status, email_status, alias, avatar_relative_path, employee_number, nfc_cards, onboard_time, phone, pin_code, and username.

uni_fi_on_prem_users_assign_touch_pass

Assign a suspended or inactive Touch Pass to a specific user in UniFi Access. Returns the Touch Pass object including id, card_id, status, user_id, user_name, and user_email. Required: user_id, touch_pass_id. Requires UniFi Access version 3.2.20 or later.

uni_fi_on_prem_users_unassign_touch_pass

Unassign a Touch Pass from a specific user in UniFi Access. Returns the Touch Pass object with id, card_id, card_name, status, last_activity, bundles, and user fields after unassignment. Required: user_id. Requires UniFi Access version 3.2.20 or later.

uni_fi_on_prem_users_batch_assign_touch_passes

Batch assign unassigned Touch Passes to users in UniFi Access using their email addresses. Returns an array of Touch Pass objects with id, card_id, card_name, status, last_activity, bundles, and user assignment details. Required: ids. Requires UniFi Access version 3.2.20 or later.

uni_fi_on_prem_users_assign_license_plate

Assign one or more license plate numbers to a specific user in UniFi Access. Returns an empty response on success. Required: user_id. UniFi Access version 3.3.10 or later is required.

uni_fi_on_prem_users_unassign_license_plate

Unassign a specific license plate number from a user in UniFi Access. Returns an empty response on success. Required: user_id, license_plate_id. UniFi Access version 3.3.10 or later is required.

uni_fi_on_prem_users_upload_profile_picture

Upload a profile picture for a user in UniFi Access. Returns: avatar_url. Required: user_id. Only supported for local users; UI Account users must update their picture through the UI Account interface. UniFi Access version 3.3.10 or later is required.

create_a_uni_fi_on_prem_user_group

Create a new user group in UniFi Access. Returns: id. Required: name.

list_all_uni_fi_on_prem_user_groups

List all user groups in UniFi Access. Returns: id, name, full_name, up_id, up_ids.

get_single_uni_fi_on_prem_user_group_by_id

Get a single user group by id in UniFi Access. Returns: id, name, full_name, up_id, up_ids. Required: id.

update_a_uni_fi_on_prem_user_group_by_id

Update a user group by id in UniFi Access. Returns: id, name, full_name, up_id, up_ids. Required: id, name.

delete_a_uni_fi_on_prem_user_group_by_id

Delete a user group by id in UniFi Access. Returns an empty 204 response on success. Required: id.

uni_fi_on_prem_user_groups_assign_user

Assign users to a user group in UniFi Access by supplying an array of user identity IDs in the request body. Returns a success confirmation with no data payload. Required: user_group_id.

uni_fi_on_prem_user_groups_unassign_user

Remove users from a user group in UniFi Access by supplying an array of user identity IDs in the request body. Returns a success confirmation with no data payload. Required: user_group_id.

uni_fi_on_prem_user_groups_list_all_users

List all users across UniFi on-premises user groups, including users in subgroups. Returns: id, first_name, last_name, full_name, email, user_email, status, email_status, employee_number, phone, username, alias, avatar_relative_path, onboard_time.

uni_fi_on_prem_user_groups_assign_access_policy

Assign access policies to a UniFi on-premises user group by providing the access policy IDs. Returns an empty 204 response on success. Required: user_group_id, access_policy_ids.

uni_fi_on_prem_user_groups_list_access_policies

List the access policies assigned to a user group in UniFi Access. Returns each policy's id, name, resources (door groups and doors), and schedule_id. Required: user_group_id.

create_a_uni_fi_on_prem_visitor

Create a new visitor in UniFi Access with personal details, visit schedule, and door access resources. Returns: id, first_name, last_name, status, schedule_id, resources, nfc_cards, license_plates, pin_code, schedule. Required: first_name, last_name.

get_single_uni_fi_on_prem_visitor_by_id

Get a single UniFi Access visitor by id. Returns: id, first_name, last_name, status, schedule_id, resources, nfc_cards, license_plates, pin_code, schedule. Required: id.

list_all_uni_fi_on_prem_visitors

List all visitors in UniFi Access. Returns: id, first_name, last_name, status, schedule_id, resources, nfc_cards, license_plates, pin_code, schedule. Supports optional status filtering, keyword prefix search on visitor names, and expandable related objects.

update_a_uni_fi_on_prem_visitor_by_id

Update a visitor in UniFi Access by id. Returns: first_name, id, last_name, nfc_cards, license_plates, pin_code, resources, schedule, schedule_id, status. Required: id. Status change is not supported.

delete_a_uni_fi_on_prem_visitor_by_id

Delete a visitor in UniFi Access by id. If the is_force query parameter is set, physically deletes the visitor; otherwise updates the visitor to canceled status. Returns an empty 204 response on success. Required: id.

uni_fi_on_prem_visitors_assign_nfc_card

Assign an NFC card to a visitor in UniFi Access by providing the card token. Returns a success response with no data payload. Required: visitor_id, token.

uni_fi_on_prem_visitors_unassign_nfc_card

Unassign an NFC card from a visitor in UniFi Access by providing the card token. Returns a success response with no data payload. Required: visitor_id, token.

uni_fi_on_prem_visitors_assign_pin_code

Assign a PIN code to a UniFi Identity visitor so the visitor can unlock doors. The PIN code must first be generated via the /api/v1/developer/pin_codes endpoint. Returns a success response with no data payload. Required: visitor_id, pin_code.

uni_fi_on_prem_visitors_unassign_pin_code

Unassign the PIN code from a visitor in UniFi Access. Returns an empty 204 response on success. Required: visitor_id.

uni_fi_on_prem_visitors_assign_qr_code

Assign a QR code to a visitor in UniFi Access. Returns an empty 204 response on success. Required: visitor_id. UniFi Access version 3.3.10 or later required.

uni_fi_on_prem_visitors_unassign_qr_code

Unassign (remove) a QR code from a visitor in UniFi Access. Returns an empty 204 response on success. Required: visitor_id. UniFi Access version 3.3.10 or later required.

uni_fi_on_prem_visitors_assign_license_plate

Assign one or more license plate numbers to a visitor in UniFi Access. Returns an empty 204 response on success. Required: visitor_id and a request body containing a list of license plate numbers. UniFi Access version 3.3.10 or later required.

uni_fi_on_prem_visitors_unassign_license_plate

Unassign a license plate number from a visitor in UniFi Access. Returns an empty 204 response on success. Required: visitor_id, license_plate_id. UniFi Access version 3.3.10 or later required.

create_a_uni_fi_on_prem_access_policy

Create a new access policy in UniFi Access. Returns: id. Required: name, schedule_id.

update_a_uni_fi_on_prem_access_policy_by_id

Update a UniFi access policy by id, modifying only the fields supplied in the request body. Returns the string 'success' confirming the update. Required: id. All body fields (name, resource, schedule_id) are optional — omit any that do not need to change.

delete_a_uni_fi_on_prem_access_policy_by_id

Delete a UniFi access policy by id. Returns an empty 204 response on success. Required: id.

get_single_uni_fi_on_prem_access_policy_by_id

Get a single UniFi Access access policy by id. Returns: id, name, resources, schedule_id. Required: id.

list_all_uni_fi_on_prem_access_policies

List all UniFi Access access policies. Returns each policy with id, name, resources (doors and door groups), and schedule_id.

create_a_uni_fi_on_prem_holiday_group

Create a new holiday group in UniFi Access with a name and an optional list of holidays. Returns the created holiday group including its id, name, description, is_default, template_name, and holidays array. Required: name.

update_a_uni_fi_on_prem_holiday_group_by_id

Update a holiday group in UniFi Access by id, including its name, description, and holidays. Returns the updated holiday group including its id, name, description, is_default, template_name, and holidays array. Required: id, name.

delete_a_uni_fi_on_prem_holiday_group_by_id

Delete a holiday group in UniFi Access by id. Returns a success confirmation string. Required: id.

get_single_uni_fi_on_prem_holiday_group_by_id

Get a UniFi Access holiday group by id. Returns: id, name, is_default, description, holidays, template_name. Required: id.

list_all_uni_fi_on_prem_holiday_groups

List all holiday groups in UniFi Access. Returns: id, name, description, count.

create_a_uni_fi_on_prem_schedule

Create a door access schedule in UniFi Access. Returns the created schedule including its id, name, type, is_default, weekly schedule, holiday_group_id, holiday_group, and holiday_schedule. Required: name, week_schedule.

update_a_uni_fi_on_prem_schedule_by_id

Update a door access schedule in UniFi Access by id. Returns the updated schedule including its id, name, type, is_default, weekly schedule, holiday_group_id, holiday_group, and holiday_schedule. Required: id.

get_single_uni_fi_on_prem_schedule_by_id

Fetch a door access schedule in UniFi Access by id. Returns the schedule including its id, name, type, is_default, weekly schedule, holiday_group_id, holiday_group, and holiday_schedule. Required: id.

list_all_uni_fi_on_prem_schedules

List all door access schedules in UniFi Access on-premises. Returns each schedule with id, name, type, is_default, status, holiday_group_id, weekly time slots, holiday_group, and holiday_schedule.

delete_a_uni_fi_on_prem_schedule_by_id

Delete a door access schedule in UniFi Access on-premises by id. Returns an empty 204 response on success. Required: id.

uni_fi_on_prem_credentials_generate_pin_code

Generate a new PIN code in UniFi Access for unlocking doors. Returns the generated PIN code as a string, which can then be assigned to a user or visitor via the pin_codes assignment endpoints. The PIN code length must meet the system's preset requirements.

uni_fi_on_prem_credentials_enroll_nfc_card

Create an NFC card enrollment session by waking up a UA reader in UniFi Access. Returns: session_id. Required: device_id.

uni_fi_on_prem_credentials_get_nfc_enrollment_status

Poll a UniFi Access UA reader to fetch the NFC card enrollment status and generated card tokens for a given session. Returns: card_id, token. Required: session_id. This is a polling endpoint — until enrollment completes the response data may be a simple status string rather than the card_id/token object.

uni_fi_on_prem_credentials_delete_nfc_enrollment_session

Delete an NFC card enrollment session in UniFi Access. Returns an empty 204 response on success. Required: session_id.

uni_fi_on_prem_credentials_download_qr_code_image

Download a QR code image for a credential in UniFi Access. Returns: card_id, token. Required: qr_code_id.

get_single_uni_fi_on_prem_nfc_card_by_id

Get a single NFC card in UniFi Access by its token. Returns: token, display_id, status, alias, card_type, note, user_id, user_type, user. Required: id.

list_all_uni_fi_on_prem_nfc_cards

List all NFC cards in UniFi Access, optionally filtered by alias. Returns: token, display_id, status, alias, card_type, note, user_id, user_type, user. Optional: alias.

delete_a_uni_fi_on_prem_nfc_card_by_id

Delete an NFC card in UniFi Access by its token. Returns a success confirmation. Required: id.

update_a_uni_fi_on_prem_nfc_card_by_id

Update an NFC card in UniFi Access. Returns the updated card object including token, display_id, status, alias, card_type, note, user_id, user_type, and user. Required: id. Requires UniFi Access version 3.1.30 or later.

uni_fi_on_prem_nfc_cards_import_third_party

Import third-party NFC card IDs into UniFi Access by uploading a CSV file. Returns an array of imported card records, each containing alias, nfc_id, and token. An empty token indicates the import failed for that record. Required: file (CSV with NFC IDs in uppercase hexadecimal and optional unique aliases). Duplicate aliases cause the import to fail. Requires UniFi Access v3.3.10 or later.

list_all_uni_fi_on_prem_touch_passes

List all Touch Passes in UniFi Access, optionally filtered by status. Returns: id, card_id, card_name, status, last_activity, activated_at, expired_at, user_id, user_name, user_email, user_status, user_avatar, bundles.

uni_fi_on_prem_touch_passes_search

Search Touch Passes in UniFi Access by a condition such as card ID or user name. Returns: id, card_id, card_name, status, last_activity, activated_at, expired_at, user_id, user_name, user_email, user_status, user_avatar, bundles. Required: condition. Requires UniFi Access version 3.2.20 or later.

uni_fi_on_prem_touch_passes_list_assignable

List all suspended or inactive Touch Passes available for reassignment in UniFi Access. Returns: id, card_id, card_name, status, last_activity, activated_at, expired_at, user_id, user_name, user_email, user_status, user_avatar, bundles. Requires UniFi Access version 3.2.20 or later.

update_a_uni_fi_on_prem_touch_pass_by_id

Update a Touch Pass in UniFi Access by modifying its card name, changing its status (ACTIVE or SUSPENDED), or unbundling devices. Returns: id, card_id, card_name, status, activated_at, expired_at, last_activity, user_id, user_name, user_email, user_avatar, user_status, bundles. Required: id.

get_single_uni_fi_on_prem_touch_pass_by_id

Get detailed information about a specific Touch Pass in UniFi Access by id. Returns: id, card_id, card_name, status, activated_at, expired_at, last_activity, user_id, user_name, user_email, user_avatar, user_status, bundles. Required: id.

uni_fi_on_prem_touch_passes_purchase

Purchase new Touch Passes in UniFi Access. Returns the purchased pass object including id, card_id, card_name, status (INACTIVE), last_activity, bundles, and unassigned user fields (user_id, user_name, user_email, user_avatar, user_status). Required: count. A valid payment method must be configured in the Access web application before using this API.

uni_fi_on_prem_spaces_get_door_group_topology

Fetch the door group topology in UniFi Access, showing the hierarchical arrangement of door groups including the building (all doors) and custom access groups. Returns: id, name, type, resources.

create_a_uni_fi_on_prem_door_group

Create a new door group in UniFi Access. Returns: id, type. Required: group_name, resources. The group name must be globally unique.

get_single_uni_fi_on_prem_door_group_by_id

Get a single UniFi Access door group by id. Returns: id, name, type, resources. Required: id.

update_a_uni_fi_on_prem_door_group_by_id

Update a UniFi Access door group by id. Returns: id, name, type, resources. Required: id.

list_all_uni_fi_on_prem_door_groups

List all door groups in UniFi Access. Returns each group's id, name, type, and resources. The list does not include groups of type building.

delete_a_uni_fi_on_prem_door_group_by_id

Delete a UniFi Access door group by id. Returns: success. Required: id.

get_single_uni_fi_on_prem_door_by_id

Get a single UniFi Access door by id. Returns: id, name, full_name, type, door_lock_relay_status, door_position_status, floor_id, is_bind_hub. Required: id.

list_all_uni_fi_on_prem_doors

List all UniFi Access doors. Returns: id, name, full_name, type, door_lock_relay_status, door_position_status, floor_id, is_bind_hub.

uni_fi_on_prem_doors_remote_unlock

Remotely unlock a UniFi Access door by door_id. Returns a success acknowledgment string confirming the door unlock. Required: door_id. If either actor_id or actor_name is provided, both must be included.

uni_fi_on_prem_doors_set_temporary_locking_rule

Set a temporary locking rule for a UniFi Access door by door_id. Returns: type, ended_time. Required: door_id, type. UniFi Access 1.24.6 or later required.

uni_fi_on_prem_doors_get_locking_rule

Fetch the current locking rule for a UniFi Access door by door_id. Returns: type, ended_time. Required: door_id. UniFi Access 1.24.6 or later required.

uni_fi_on_prem_doors_set_emergency_status

Set the emergency status (lockdown and/or evacuation) for a specific door in UniFi Access. Returns a success acknowledgment string. Required: door_id.

uni_fi_on_prem_doors_get_emergency_status

Fetch the current emergency status for a specific door in UniFi Access. Returns: lockdown, evacuation. Required: door_id.

list_all_uni_fi_on_prem_devices

List UniFi Access devices. Returns: id, name, type, alias. Pass refresh=true to bypass the device cache and fetch real-time info (may be slower).

uni_fi_on_prem_devices_get_access_method_settings

Fetch the current access method settings of a UniFi Access device. Returns: access_methods, device_id. Required: device_id. UniFi Access version 3.3.10 or later.

uni_fi_on_prem_devices_trigger_doorbells

Trigger doorbells on UniFi Access intercom devices. Optionally specify an intercom directory name via room_name to target a specific intercom, or set cancel to true to stop a previously triggered doorbell that is still ringing. Returns a success acknowledgment (the string "success" or null) indicating the doorbell trigger request was accepted.

uni_fi_on_prem_devices_bulk_update

Update the access method settings of a UniFi Access device, including NFC, Bluetooth tap/unlock/shake, PIN code, Face Unlock, QR code, and Touch Pass. Returns: access_methods, device_id. Required: device_id. Requires UniFi Access Version 3.3.10 or later.

list_all_uni_fi_on_prem_system_logs

List UniFi Access system logs filtered by topic, with optional time-range and actor filters. Returns each log entry including actor, authentication, event, target, and tag. Required: topic.

uni_fi_on_prem_system_logs_export

Export UniFi Access system logs to a CSV file filtered by topic and time range. Returns a success confirmation string. Required: topic, since, until, timezone. The since and until period cannot exceed one month.

uni_fi_on_prem_system_logs_list_resources

List resources in UniFi On-Prem system logs, returning access-policy-style records with their associated door groups/doors and schedule assignments. Returns: id, name, resources, schedule_id.

uni_fi_on_prem_system_logs_list_static_resources

List static resource policies (door groups and doors) recorded in UniFi On-Prem system logs. Returns: id, name, resources (each with id and type), schedule_id.

uni_fi_on_prem_identity_send_invitations

Send UniFi Identity invitations to invite users to join UniFi Identity in unifionprem. Returns an array of invitation results containing error_code, error_msg, user_email, and user_id for any failed invitations; an empty array indicates all invitations succeeded. Required: user_id and email for each invitation entry.

uni_fi_on_prem_identity_list_available_resources

List available UniFi Identity resources in unifionprem grouped by type. Returns: ev_station, vpn, wifi. Accepts an optional resource_type filter.

uni_fi_on_prem_identity_assign_user_resources

Assign UniFi Identity resources to a user in unifionprem by specifying a resource type and list of resource IDs. Returns an empty 204 response on success. Required: user_id, resource_type, resource_ids.

uni_fi_on_prem_identity_list_user_resources

List the UniFi Identity access policies (resources) assigned to a specific user in unifionprem. Returns: id, name, resources, schedule_id. Required: user_id. Requires UniFi Access 1.24.6 or later.

uni_fi_on_prem_identity_assign_group_resources

Assign UniFi Identity resources to a user group in unifionprem. Returns an empty response on success (data is null). Required: user_group_id, resource_type, resource_ids.

uni_fi_on_prem_identity_list_group_resources

Fetch the UniFi Identity resources assigned to a user group in unifionprem. Returns: ev_station, vpn, wifi, camera. Required: user_group_id.

uni_fi_on_prem_notifications_fetch_websocket

Fetch real-time notifications from UniFi Access via WebSocket, receiving events such as doorbell rings and doorbell status changes. Returns: channel, token, device_id, device_type, device_name, door_name, controller_id, floor_name, request_id, clear_request_id, in_or_out, create_time, reason_code, door_guard_ids, connected_uah_id, room_id, host_device_mac, remote_call_request_id. UniFi Access…

uni_fi_on_prem_webhooks_list_events

List supported webhook events in UniFi Access. Returns: event, description. Some events require UniFi Access version 3.3.10 or later.

list_all_uni_fi_on_prem_webhooks

List webhook endpoints configured in UniFi Access. Returns: id, endpoint, name, events, secret, headers.

create_a_uni_fi_on_prem_webhook

Create a webhook endpoint in UniFi Access to receive event notifications. Returns: id, endpoint, name, events, secret, headers. Required: name, endpoint, events.

update_a_uni_fi_on_prem_webhook_by_id

Update an existing webhook endpoint in UniFi Access by id. Returns: id, endpoint, name, events, secret, headers. Required: id, name, endpoint, events.

delete_a_uni_fi_on_prem_webhook_by_id

Delete a webhook endpoint in UniFi Access by id. Returns an empty 204 response on success. Required: id.

uni_fi_on_prem_webhooks_allow_owner

Allow a webhook endpoint owner to receive webhook events in UniFi Access. Returns a success confirmation string. Required: endpoint_id.

uni_fi_on_prem_api_server_upload_certificate

Upload an HTTPS certificate to the UniFi Access API server on port 12445 in unifionprem. Returns the string 'success' on completion. Required: key, cert. Restarting the Access application is necessary to apply the changes.

uni_fi_on_prem_api_server_delete_certificate

Delete the HTTPS certificate from the UniFi Access API server on port 12445 in unifionprem. Returns the string 'success' on completion. Restarting the Access application is necessary to apply the changes.

list_all_uni_fi_on_prem_group_users

List users directly assigned to a user group in UniFi Access, excluding users in any subgroups. Returns: id, first_name, last_name, full_name, alias, email, email_status, employee_number, phone, onboard_time, status, user_email, username, avatar_relative_path. Required: user_group_id.

Why Truto

Why use Truto’s MCP server for UniFi On Prem

Other MCP servers give you a static tool list for one app. Truto gives you a managed, multi-tenant MCP infrastructure across 650+ integrations.

01

Auto-generated, always up to date

Tools are dynamically generated from curated documentation — not hand-coded. As integrations evolve, tools stay current without manual maintenance.

02

Fine-grained access control

Scope each MCP server to read-only, write-only, specific methods, or tagged tool groups. Expose only what your AI agent needs — nothing more.

03

Multi-tenant by design

Each MCP server is scoped to a single connected account with its own credentials. The URL itself is the auth token — no shared secrets, no credential leaking across tenants.

04

Works with every MCP client

Standard JSON-RPC 2.0 protocol. Paste the URL into Claude, ChatGPT, Cursor, or any MCP-compatible agent framework — tools are discovered automatically.

05

Built-in auth, rate limits, and error handling

Tool calls execute through Truto’s proxy layer with automatic OAuth refresh, rate-limit handling, and normalized error responses. No raw API plumbing in your agent.

06

Expiring and auditable servers

Create time-limited MCP servers for contractors or automated workflows. Optional dual-auth requires both the URL and a Truto API token for high-security environments.

Unified APIs

Unified APIs for UniFi On Prem

Skip writing code for every integration. Use Truto’s category-specific Unified APIs out of the box or customize the mappings with AI.

Unified User Directory API

Groups

Groups are a collection of users in the source application. In some applications, they might also be called Teams.

View Docs

Users

The User object represents a User.

View Docs

How It Works

From zero to integrated

Go live with UniFi On Prem in under an hour. No boilerplate, no maintenance burden.

01

Link your customer’s UniFi On Prem account

Use Truto’s frontend SDK to connect your customer’s UniFi On Prem account. We handle all OAuth and API key flows — you don’t need to create the OAuth app.

02

We handle authentication

Don’t spend time refreshing access tokens or figuring out secure storage. We handle it and inject credentials into every API request.

03

Call our API, we call UniFi On Prem

Truto’s Proxy API is a 1-to-1 mapping of the UniFi On Prem API. You call us, we call UniFi On Prem, and pass the response back in the same cycle.

04

Unified response format

Every response follows a single format across all integrations. We translate UniFi On Prem’s pagination into unified cursor-based pagination. Data is always in the result attribute.

FAQs

Common questions about UniFi On Prem on Truto

Authentication, rate limits, data freshness, and everything else you need to know before you integrate.

How do end users connect their UniFi On Prem controller to our product?

Because UniFi On Prem runs on the customer's own hardware, users authenticate the integration by providing the controller's hostname/URL and an API token generated inside their UniFi console. Truto handles credential storage, refresh, and secure request routing so your app never touches the raw secrets.

Can we manage both permanent employees and temporary visitors through the same integration?

Yes. UniFi models these as separate resources — users (with groups, access policies, and NFC/PIN/Touch Pass credentials) and visitors (with time-bound PIN, QR, NFC, and license plate credentials). Truto exposes distinct endpoints for each so you can build the right workflow for each persona.

Does the integration support real-time events like door unlocks or doorbell rings?

Yes. UniFi On Prem supports both webhooks and a websocket notification channel. You can list available webhook events, register endpoints, and stream real-time signals such as intercom triggers and access attempts into your product.

Can we sync users and groups using Truto's Unified User Directory API?

Yes. UniFi users and user groups are mapped into Truto's Unified User Directory API, so if your product already integrates with other HRIS or directory providers through that unified schema, UniFi On Prem plugs in without additional modeling work. You can still call UniFi-specific endpoints directly when you need granular capabilities like credential assignment.

What physical access operations can we trigger programmatically?

You can remotely unlock doors, set temporary locking rules (e.g., hold-open for an event), toggle emergency lockdown status, retrieve the door group topology, and query per-door locking and emergency state — all via Truto endpoints.

How do we handle credential enrollment flows like NFC cards?

UniFi uses an enrollment session pattern for NFC. Truto exposes endpoints to start an NFC enrollment, poll its status, cancel the session, and then assign the resulting card to a user or visitor. PIN codes and QR codes can be generated directly and assigned in a single call.

UniFi On Prem

Get UniFi On Prem integrated into your app

Our team understands what it takes to make a UniFi On Prem integration successful. A short, crisp 30 minute call with folks who understand the problem.