See here for native DLL support.
See https://www.adiirc.com/docs/ for API documentation.
Docs can also be downloaded as a Help file here https://www.adiirc.com/docs/Documentation.chm.
If you want an API for something not covered by the current API, please open an issue.
Plugins can load and use any DLL's including referencing all .NET frameworks DLL's and do P/Invoke, just like a regular .NET program.
If you get a "System.NotSupportedEception: An attempt was made to load an essembly from a network location" error, try unblock the dll file as shown here here
Added in 1.8
/plugins [-luixo] [filename]
With no switches, Opens or focuses the Plugin Manager dialog.
-l - Loads a installed plugin file.
-u - Unloads a loaded plugin file.
-i - Installs a new plugin to the plugin folder.
-x - Uninstalls a installed plugin in the plugin folder.
-o - Used with -i, allows overwriting a installed plugin, if the plugin is not loaded.
[filename] - Filename/path of the plugin.
; Installs the plugin 'MyPlugin.dll' from the folder 'C:\User<\Nick\Desktop' to the Plugins folder. /plugins -i C:\User<\Nick\Desktop\MyPlugin.dll ; Loads 'MyPlugin.dll' /plugins -l MyPlugin.dll