Summary
The Adder AIM (ALIF) is a KVM-over-IP matrix switching system. The AIM API is an HTTP REST interface available at http://<IPADDRESS>/api providing access to device management, channel/preset configuration, and receiver/transmitter connectivity control. Token-based authentication is used; anonymous login is supported.
Transport
protocols:
- http
addressing:
base_url: "http://{ipaddress}/api" # IP address is the AIM Manager IP
auth:
type: token # token returned by login method; anonymous login available
Traits
- queryable # inferred from get_devices, get_channels, get_presets, disk_usage methods
- routable # inferred from connect_channel, disconnect_channel, connect_preset, disconnect_preset methods
Actions
- id: login
label: Login
kind: action
params:
- name: username
type: string
- name: password
type: string
- name: v
type: integer
description: API version (e.g. 1)
- id: logout
label: Logout
kind: action
params:
- name: token
type: string
- name: v
type: integer
- id: logout_device
label: Logout Device
kind: action
params:
- name: token
type: string
- name: v
type: integer
- name: rx_id
type: integer
description: Receiver ID
- id: connect_channel
label: Connect Channel
kind: action
params:
- name: token
type: string
- name: v
type: integer
- name: c_id
type: integer
description: Channel ID
- name: rx_id
type: integer
description: Receiver ID
- name: mode
type: string
description: "Connection mode: v=video-only, s=shared, e=exclusive, p=private (default: s)"
- id: connect_preset
label: Connect Preset
kind: action
params:
- name: token
type: string
- name: v
type: integer
- name: id
type: integer
description: Preset ID
- name: mode
type: string
description: "Connection mode: v=video-only, s=shared, e=exclusive, p=private (default: s)"
- name: force
type: integer
description: "0=abort on error, 1=ignore errors (default: 0)"
- id: disconnect_channel
label: Disconnect Channel
kind: action
params:
- name: token
type: string
- name: v
type: integer
- name: rx_id
type: integer
description: "Receiver ID(s), integer or comma-separated. Omit to disconnect all."
- name: force
type: integer
description: "0=disconnect own online connections, 1=force disconnect all"
- id: disconnect_preset
label: Disconnect Preset
kind: action
params:
- name: token
type: string
- name: v
type: integer
- name: id
type: integer
description: "Preset ID. Omit to disconnect all."
- name: force
type: integer
- id: create_preset
label: Create Preset
kind: action
params:
- name: token
type: string
- name: v
type: integer
- name: name
type: string
description: Preset display name
- name: pairs
type: string
description: "Comma-separated channel-receiver pairs (e.g. 1-1,1-2)"
- name: allowed
type: string
description: "Permitted modes: v=video-only, s=shared, e=exclusive, p=private"
- id: delete_preset
label: Delete Preset
kind: action
params:
- name: token
type: string
- name: v
type: integer
- name: id
type: integer
description: Preset ID
- id: create_channel
label: Create Channel
kind: action
params:
- name: token
type: string
- name: v
type: integer
- name: name
type: string
- name: desc
type: string
description: Channel description (optional)
- name: loc
type: string
description: Channel location (optional)
- name: allowed
type: string
description: "Permitted modes: v=video-only, s=shared, e=exclusive, p=private"
- name: video1
type: integer
description: Video source 1 device ID (optional)
- name: video1head
type: integer
description: Video head number (default 1)
- name: video2
type: integer
description: Video source 2 device ID (optional)
- name: audio
type: integer
description: Audio source device ID (optional)
- name: usb
type: integer
description: USB source device ID (optional)
- name: serial
type: integer
description: Serial source device ID (optional)
- name: groupname
type: string
description: Channel group name (optional)
- id: delete_channel
label: Delete Channel
kind: action
params:
- name: token
type: string
- name: v
type: integer
- name: id
type: integer
description: Channel ID
- id: update_device
label: Update Device
kind: action
params:
- name: token
type: string
- name: v
type: integer
- name: id
type: integer
description: Device ID
- name: desc
type: string
description: Device description (use _ to delete)
- name: loc
type: string
description: Device location (use _ to delete)
- id: promote
label: Promote Backup to Primary
kind: action
params:
- name: token
type: string
- name: v
type: integer
- id: reboot_devices
label: Reboot Devices
kind: action
params:
- name: token
type: string
- name: v
type: integer
- name: ids
type: string
description: Comma-separated device IDs
- id: replace_device
label: Replace Device
kind: action
params:
- name: token
type: string
- name: v
type: integer
- name: d_id
type: integer
description: Device ID to replace
- name: r_d_id
type: integer
description: Replacement device ID
- id: identify_device
label: Identify Device
kind: action
params:
- name: token
type: string
- name: v
type: integer
- name: id
type: integer
description: Device ID
- id: delete_c_usb
label: Delete C-USB Extender
kind: action
params:
- name: token
type: string
- name: v
type: integer
- name: mac
type: string
description: C-USB LAN extender MAC address
- id: update_c_usb
label: Update C-USB Extender
kind: action
params:
- name: token
type: string
- name: v
type: integer
- name: mac
type: string
- name: name
type: string
- id: connect_c_usb
label: Connect C-USB Extender
kind: action
params:
- name: token
type: string
- name: v
type: integer
- name: rx
type: string
description: Receiver MAC address
- name: tx
type: string
description: Transmitter MAC address
- id: disconnect_c_usb
label: Disconnect C-USB Extender
kind: action
params:
- name: token
type: string
- name: v
type: integer
- name: mac
type: string
description: Receiver MAC address
- id: get_devices
label: Get Devices
kind: query
params:
- name: token
type: string
- name: v
type: integer
- name: device_type
type: string
description: "'rx' = receivers, 'tx' = transmitters. Default = 'rx'"
- name: filter_d_name
type: string
description: Optional. Device name search string
- name: filter_d_description
type: string
description: Optional. Device description search string
- name: filter_d_location
type: string
description: Optional. Device location search string
- name: sort
type: string
description: "Optional. Sort results by 'name'/'description'/'location'. Default = 'name'"
- name: sort_dir
type: string
description: "Optional. Sort direction 'asc'/'desc'. Default = 'asc'"
- name: status
type: string
description: Optional. Device status filter
- name: show_all
type: string
description: Optional. If set, shows all receivers not just permitted ones
- name: page
type: integer
description: Page number, default = 1
- name: results_per_page
type: integer
description: Number of results per page, default = 1000
- id: disk_usage
label: Disk Usage
kind: query
params:
- name: token
type: string
- name: v
type: integer
- id: get_channels
label: Get Channels
kind: query
params:
- name: token
type: string
- name: v
type: integer
- name: page
type: integer
description: Page number, default = 1
- name: results_per_page
type: integer
description: Number of results per page, default = 1000
- name: device_id
type: integer
description: ID of the receiver for connection mode availability checks
- name: filter_c_name
type: string
description: Channel name search string
- name: filter_c_description
type: string
description: Channel description search string
- name: filter_c_location
type: string
description: Channel location search string
- name: filter_favourites
type: string
description: Set non-empty to show only favourites
- id: get_presets
label: Get Presets
kind: query
params:
- name: token
type: string
- name: v
type: integer
- name: results_per_page
type: integer
description: Number of results per page, default = 1000
- name: page
type: integer
description: Page number, default = 1
- id: get_all_c_usb
label: Get All C-USB Extenders
kind: query
params:
- name: token
type: string
- name: v
type: integer
- id: get_servers
label: Get Servers
kind: query
params:
- name: token
type: string
- name: v
type: integer
- name: page
type: integer
description: Page number, default = 1
- name: results_per_page
type: integer
description: Number of results per page, default = 1000
Feedbacks
- id: login_response
type: object
fields:
- timestamp
- version
- token
- success
- id: device_list
type: array
description: "Array of device objects; fields include d_id, d_name, d_type (rx/tx), d_online, d_status, d_firmware, d_ip_address, d_mac_address, and connection info for receivers"
- id: channel_list
type: array
description: "Array of channel objects; fields include c_id, c_name, c_description, c_location, c_favourite, view_button/shared_button/control_button/exclusive_button status"
- id: preset_list
type: array
description: "Array of preset objects; fields include cp_id, cp_name, cp_description, cp_active, view_button/shared_button/control_button/exclusive_button status"
- id: disk_usage_response
type: object
fields:
- mainUsedPercent
- backupUsedPercent
- dbsize
- dbeventlogsize
- backupssize
- firmwaresize
- aimupgradesize
- id: server_list
type: array
description: "Array of AIM server objects; fields include name, role (primary/backup/solo), status (active/standby/failed), ip, mac"
- id: c_usb_list
type: array
description: "Array of C-USB LAN extender objects; fields include mac, type (rx/tx), name, online, ip, connectedTo"
- id: success_flag
type: enum
values: [0, 1]
description: "0=fail, 1=success"
- id: error_response
type: object
fields:
- code
- msg
Variables
# UNRESOLVED: no settable runtime parameters documented in source
Events
# UNRESOLVED: no unsolicited event notifications documented in source
Macros
# UNRESOLVED: no multi-step macro sequences documented in source
Safety
confirmation_required_for: []
interlocks: []
# UNRESOLVED: no safety warnings or interlock procedures in source
Notes
- API base path is
http://<IPADDRESS>/apiwhere IPADDRESS is the AIM Manager IP - Token returned by
loginmust be passed in all subsequent requests; valid untillogoutis called - Anonymous login is supported: omit username/password to get an anonymous token
- Connection modes:
v=video-only,s=shared,e=exclusive,p=private - Device types:
rx=receiver,tx=transmitter - API version is passed via
vparameter in each request - Many methods require admin privileges (
create_preset,delete_preset,create_channel,delete_channel,update_device,promote,delete_c_usb,update_c_usb) disconnect_channelwith norx_iddisconnects all connections for the authenticated userdisconnect_presetwith noiddisconnects all connections in the AIM networkconnect_c_usbrequires both receiver and transmitter to be disconnected first
Provenance
source_domains:
- support.adder.com
source_urls:
- "https://support.adder.com/tiki/tiki-index.php?page=ALIF%3A%20AIM%20API"
retrieved_at: 2026-04-30T04:40:32.650Z
last_checked_at: 2026-06-02T21:39:33.410Z
Verification Summary
verdict: verified
checked_at: 2026-06-02T21:39:33.410Z
matched_actions: 26
action_count: 26
confidence: medium
summary: "All 26 action commands in spec are directly traceable to source documentation with matching parameters and transport (HTTP REST). (9 unresolved item(s) noted in Known Gaps.)"
Known Gaps
- "physical transport port number not stated in source; no RS-232 or serial control documented"
- "no settable runtime parameters documented in source"
- "no unsolicited event notifications documented in source"
- "no multi-step macro sequences documented in source"
- "no safety warnings or interlock procedures in source"
- "physical HTTP port number (default 80/443) not stated in source"
- "no RS-232 serial control documented"
- "API version compatibility ranges not fully enumerated in source"
- "error code字典 not provided in source beyond example codes 2, 3, 9, 17, 210, 231"
From the AI4AV catalog (https://ai4av.net) · ODbL-1.0