Summary
The AIM Server exposes a REST API at http://<IPADDRESS>/api for managing KVM extenders, channels, presets, and C-USB LAN network extenders. Token-based auth; login returns a session token reused across requests. Manages receiver (rx) and transmitter (tx) devices, channel-to-receiver mappings, connection presets, and high-availability server pairs.
Transport
protocols:
- http
addressing:
base_url: http://<IPADDRESS>/api # IP address set via DHCP/static on AIM web interface
auth:
type: token # login returns token; token reused per best-practice note in source
Traits
- queryable # inferred: get_devices, get_channels, get_presets, disk_usage, get_servers return state
- routable # inferred: connect_channel, disconnect_channel, connect_preset, disconnect_preset manage routing
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: get_devices
label: Get Devices
kind: query
params:
- name: token
type: string
- name: v
type: integer
- name: device_type
type: string
description: "rx (receivers) or tx (transmitters). Default = rx"
- name: filter_d_name
type: string
description: Device name search string
- name: filter_d_description
type: string
- name: filter_d_location
type: string
- name: sort
type: string
description: "name/description/location. Default = name"
- name: sort_dir
type: string
description: "asc/desc. Default = asc"
- name: status
type: string
- name: show_all
type: string
- name: page
type: integer
- name: results_per_page
type: integer
- id: disk_usage
label: Get 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
- name: results_per_page
type: integer
- name: device_id
type: integer
description: Receiver ID
- name: filter_c_name
type: string
- name: filter_c_description
type: string
- name: filter_c_location
type: string
- name: filter_favourites
type: string
- id: get_presets
label: Get Presets
kind: query
params:
- name: token
type: string
- name: v
type: integer
- name: results_per_page
type: integer
- name: page
type: integer
- 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: "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
- name: force
type: integer
description: "0/1. Default = 0"
- id: disconnect_channel
label: Disconnect Channel
kind: action
params:
- name: token
type: string
- name: v
type: integer
- name: rx_id
type: string
description: Receiver ID(s), comma-separated, or omit for all
- name: force
type: integer
- id: disconnect_preset
label: Disconnect Preset
kind: action
params:
- name: token
type: string
- name: v
type: integer
- name: id
type: integer
- 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
- name: pairs
type: string
description: Comma-separated channel_id-receiver_id pairs (e.g. "1-1,1-2")
- name: allowed
type: string
description: "Permitted modes: v/s/e/p, any combination"
- id: delete_preset
label: Delete Preset
kind: action
params:
- name: token
type: string
- name: v
type: integer
- name: id
type: integer
- 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
- name: loc
type: string
- name: allowed
type: string
- name: video1
type: integer
- name: video1head
type: integer
- name: video2
type: integer
- name: video2head
type: integer
- name: audio
type: integer
- name: usb
type: integer
- name: serial
type: integer
- name: groupname
type: string
- id: delete_channel
label: Delete Channel
kind: action
params:
- name: token
type: string
- name: v
type: integer
- name: id
type: integer
- id: update_device
label: Update Device
kind: action
params:
- name: token
type: string
- name: v
type: integer
- name: id
type: integer
- name: desc
type: string
- name: loc
type: string
- id: promote
label: Promote Backup to Primary
kind: action
params:
- name: token
type: string
- name: v
type: integer
- id: get_all_c_usb
label: Get All C-USB LAN Extenders
kind: query
params:
- name: token
type: string
- name: v
type: integer
- id: delete_c_usb
label: Delete C-USB LAN Extender
kind: action
params:
- name: token
type: string
- name: v
type: integer
- name: mac
type: string
description: C-USB MAC address
- id: update_c_usb
label: Update C-USB LAN Extender Name
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 LAN 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 LAN Extender
kind: action
params:
- name: token
type: string
- name: v
type: integer
- name: mac
type: string
description: Receiver MAC address
- 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: get_servers
label: Get Servers
kind: query
params:
- name: token
type: string
- name: v
type: integer
- name: page
type: integer
- name: results_per_page
type: integer
- id: identify_device
label: Identify Device
kind: action
params:
- name: token
type: string
- name: v
type: integer
- name: id
type: integer
Feedbacks
# UNRESOLVED: no unsolicited push notifications documented; API is polling-based (RESTful)
# All responses include: version, timestamp, success, errors (on failure)
Variables
# UNRESOLVED: no persistent configuration parameters exposed as standalone settable variables;
# device/channel/preset config managed via create/update/delete actions above
Events
# UNRESOLVED: no server-push events documented; client must poll and diff responses
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
AIM API is RESTful HTTP; best practice per doc: login once, reuse token across requests, close connection after each request. Do not generate new token per request — session accumulation fills SSD over time. Connection modes: v=video-only, s=shared, e=exclusive, p=private. High-availability supports primary/backup/solo/unconfigured roles. C-USB LAN extenders provide USB over IP extension. API version parameter v required on all requests.
Provenance
source_domains:
- support.adder.com
- github.com
- adder.com
source_urls:
- "https://support.adder.com/tiki/tiki-index.php?page=ALIF%3A+AIM+API"
- https://github.com/AdderAPI/AIM-Manager
- https://www.adder.com/en/adder-api
retrieved_at: 2026-05-27T03:30:20.901Z
last_checked_at: 2026-05-27T06:52:01.446Z
Verification Summary
verdict: verified
checked_at: 2026-05-27T06:52:01.446Z
matched_actions: 26
action_count: 26
confidence: medium
summary: "All 26 spec methods match source API catalog 1:1; transport verified. (7 unresolved item(s) noted in Known Gaps.)"
Known Gaps
- "physical connectivity (RS-232/USB local config) not documented in source"
- "no unsolicited push notifications documented; API is polling-based (RESTful)"
- "no persistent configuration parameters exposed as standalone settable variables;"
- "no server-push events documented; client must poll and diff responses"
- "no multi-step macro sequences documented in source"
- "no safety warnings or interlock procedures in source"
- "physical port config (RS-232 local management), voltage/power specs, firmware compatibility ranges not in source"
From the AI4AV catalog (https://ai4av.net) · ODbL-1.0