AIM Developer - FAQs

Enable the Subscriptions block here!

General

What is the Open AIM Program?

Through the Open AIM Program, AOL is providing open access to both the AIM® code base and the AOL® Instant Messaging community.

It includes access to AIM Presence functionality, the AIM Software Developer Kit (SDK), which allows you to build AIM Plugins and AIM Custom Clients, and Web AIM, our web-based application programming interfaces (APIs) for incorporating IM functionality into web pages.

Why did AOL create the Open AIM Program?
We believe the Open AIM Program will unleash developers' creativity to build new and innovative applications that will ultimately provide instant messaging users with more features and choices.
As a developer, why should I participate in the Open AIM Program?

The AIM service is one of the largest online communities in the world. The Open AIM program provides you with best-of-breed tools and unparalleled access to our protocol to allow you to take advantage of this social network by integrating it into your own programs.

Open AIM’s modular platform can support anything from messaging to gaming to advanced video services and more. We are excited about the opportunities you we’re providing, and encourage you to take advantage of it!

Why is AOL doing this now?

Actually, we’ve been doing this for quite a while. :-) In 2005 we decided that the best way to serve our end users was to make the AIM service a center of innovation by opening our platform to the developer community. We started by making AIM Presence APIs available, then rapidly expanded our Open AIM offering to include Web AIM, Bots, AIM Custom Clients, and Plugins. Today we’ve opened up even more, removing usage restrictions and documenting the OSCAR protocol (among many other improvements!) to make it easier than ever for you to develop and distribute world-class applications

Are there any restrictions on what I can build?

We tried to make the Open AIM Program as restriction-free and flexible as possible. But in order to help protect our network and users, certain rules apply.

  • We ask that you incorporate two value-added features of the AIM service into your application. The full list that you can pick from is listed in our Additional Feature Requirements webpage.
  • Although we have removed many restrictions on usage and development, we still do not permit developers to build Open AIM applications that are interoperable with other IM networks. (Multi-headed applications are now allowed). Please refer to the Developers License Agreement for additional details.
What platforms does the Open AIM Program support?
AIM Presence and Web AIM are Web-based and accessed via HTTP. The AIM SDK can be used on Windows® 95 and later, Mac OS X 10.3.9 and later, Red Hat Enterprise Linux 4 (other Linux distros may work as well), and Windows Mobile 5 for Pocket PC. Java wrappers are included for Windows and Linux.
Is AOL also starting a developer support program I can join to interact with other developers to share ideas and experiences?
We are planning to launch a developer support program connecting developers who are building or interested in building around the AIM service. Until this support program launches, we encourage AIM developers to frequent the Developers Forum to discuss and share ideas.
Where can I find help resources?
We have provided documentation on all aspects of the Open AIM program, and have set up several Developer Forums for developers to post questions and feedback. Our own developers and support teams also check the boards regularly.
Will I receive communications from the Open AIM Program?
Yes, we may contact you from time-to-time about our technologies, products, programs, and services. When you register for an Open AIM key for the first time, you will automatically be added to the Open AIM Newsletter email distribution list. Unsubscribe links are available on the newsletter if you should want to no longer receive them We may also contact you about your developer status on the AIM Network, your compliance with the Open AIM license, to ask if we may feature you or one of your applications at our websites, etc. To cease all emails from Open AIM, you must go to Key Management and delete all of your keys. Please note that deleting keys is irreversible and all software using these keys will no longer have access to the AIM network.
Are there any minimum user interface (UI) requirements for my use of Open AIM?

Yes, in order to preserve the integrity of the AIM network and brand, we require the following in terms of UI:

  • To maintain a consistent look and brand identity, we have provided an Open AIM Styleguide for your reference.
  • AIM Custom Client, AIM Plugin, and Web AIM developers must also maintain a persistent link to the "AIM® Enabled" page at aimenabled on (i) any site where Web AIM is used or an AIM Custom Client or AIM Plugin application is available for download and (ii) the main UI of the AIM Whimsical or AIM Custom Client application itself. Note that if you are using the Logo, as defined in the Open AIM Styleguide, on your AIM Custom Client or Web AIM Application you must hyperlink the Logo to the AIM Enabled page.
  • You must clearly inform end users of your application that any use of your Custom Client remains subject to the AOL IM Network terms of service located at http://about.aol.com/aolnetwork/terms_use.
Can I say my AIM Custom Client is an AOL-endorsed application?
While you may state your application is compatible with AIM or the AOL instant messaging services, you may not use any AIM® or AOL® registered trademarks to indicate that AOL endorses, approves, or supports your application without the prior written consent of AOL.
Are there any other requirements for my use of AIM Presence, Web AIM, or the AIM SDK?
We have tried to highlight many of the requirements here in the FAQs, but to ensure your application is fully compliant, please refer to the latest version of the Developers License Agreement.
My product is going to be the next big thing. How do I get it in front of the AIM community so they may recognize its greatness?
Any Open AIM Bots, Plugins, Web Applications, or Custom Clients can be uploaded to the AIM Gallery.
Where can I review the Developers License Agreement?
It can be reviewed here: Developer License Agreement.
What are the different categories of Buddy Groups?

There are two categories of Groups, Public groups and Private Groups. A Private group would be a group unique to your Buddy List that you created, and you have total control over it. For example, "Work", "Buddies", "AIM Dev", etc. You control who get's added or removed or even if the group exists.

A Public group is one that is created by other means. This allows you to create or join a group via a webpage and it automatically added a Buddy List Group of all the members to your Buddy List. IM Blast Groups behave this way. You join the Blast Group. It get's added to your Buddy List. When you leave the group, the group is removed from your Buddy List.

"Bebo", and "My WIMZI" are groups that can not be deleted.

  • Smart Groups – http://buddyinfo.aim.com/sg
  • Wimzi - http://wimzi.aim.com/ - click on manage
  • Bebo – Not currently deletable.
  • Blast – http://blast.aim.com - you can go to blast.aim.com and unsubscribe from the group which will make the group disappear from your Buddy List.

Keys and Fingerprints

What is a key and why do I need one?
A key is a unique identifier giving you access to the AIM Network. Keys let AOL – and you via statistics provided at the Key Management page – know how popular your AIM Plugin, AIM Custom Client, or Web AIM application is. AOL is able to disable a specific key when necessary, in the event software is developed violating the terms of the Developers License Agreement.
Are there different types of keys?

Each service of the Open AIM Program offers has its own unique key: AIM Presence, AIM Plugin, AIM Custom Clients, and Web AIM.

What are the usage limits for the keys?

There are no longer any usage limits based on key type.

How will I know when my application is approaching 100,000 peak simultaneous users?
Peak simultaneous usage is tracked and displayed at the Key Management page on a per-key basis
What is a fingerprint?
A fingerprint uniquely identifies the AIM Plugin or AIM Custom Client application assigned to that key. The fingerprint created is based on the bits of code making up your AIM Plugin or AIM Custom Client. Changing one line of code will result in a different fingerprint. Fingerprints are also tied to a key. Fingerprints are used with keys to provide two-factor authentication, allowing us to open our network to developers in a controlled manner. With this approach, we can make sure your key is used only by your code. Fingerprints are now optional for AIM Plugins and AIM Custom Clients.
How are fingerprints used?
When your AIM Plugin or AIM Custom Client launches, a fingerprint is created on the fly. The key and the runtime-generated fingerprint are then sent to AOL. If the runtime-generated fingerprint does not match any of the fingerprints stored for the key, the AIM Plugin or AIM Custom Client will not be able to access the network.
How are fingerprints created and tied to a key?
You can create a fingerprint by running the acchash tool distributed as part of the AIM SDK. AIM Plugin and AIM Custom Client keys can have up to 10 fingerprints associated with them, allowing you to release new versions of your AIM Plugin or AIM Custom Client using the same key. After you double-click on the .exe file and follow the prompts displayed by the tool, a fingerprint will be generated. On the Key Management Page, select the AIM Plugin or AIM Custom Client key you are associating with the created fingerprint, then click on "Add a New Fingerprint." You will be prompted to enter the fingerprint generated by acchash.exe. Copy and paste it into the Key Management Page. After clicking "Submit," your AIM Plugin or AIM Custom Client will be ready for release. Please note that fingerprints are now optional for AIM Plugins and AIM Custom Clients.
If I change a line of code for my AIM Plugin or AIM Custom Client, do I need to manually generate a new fingerprint, or will the AIM SDK do that for me automatically?
If you choose to implement the optional fingerprint check, for every release of your AIM Custom Client or AIM Plugin, you will need to generate a new fingerprint by following the steps described above.
Where do I get a key?
You can get keys from the Key Management Page. Note: The key registration process includes agreeing to the Developers License Agreement, and will subscribe you to the Open AIM Newsletter.
How many keys can I have?

You can have:

  • 1 AIM Presence key
  • Up to 20 AIM Plugin keys
  • Up to 20 AIM Custom Client keys
  • Up to 20 Web AIM keys

per screen name.

How are referrers tied to key?
When you register for a Web AIM key, you'll be given the option to enter the full path of the page where the code using the Web AIM APIs is located. When the page makes the request to use the Web AIM API, we compare the URL of the page making the request to the URL associated with the key.
Can I use my Web AIM key with the AIM Presence API?
Yes, however, usage of other Open AIM services will require registration for a separate key.

Commercial Use

Does AOL have a recommended way to authenticate users for the Web AIM API for both client applications and browser applications?
Authenticating OpenAIM users relies on a separate open API at AOL called OpenAuth. One of these APIs is called clientLogin which is designed for developers wanting to authenticate AIM users via desktop or mobile applications. If you are interested in developing Adobe AIR, Microsoft Silverlight, Objective-C, or .net/C++ AIM applications, OpenAuth's clientLogin is for you. For browser based AIM development projects OpenAuth has a great set of APIs geared specifically for web authentication. You are prohibited from using clientLogin for browser authentication per the Developer Agreement.
Can I redistribute AOL's libraries with my application in binary form?
Yes.
If using the AIM SDK, can I open-source my code?
Yes, however, only to the extent that any AOL-owned or licensed code is not subject to the open source license. Please refer to the Developers License Agreement for more details.
If others want to use my open source code, are separate keys required?
If you are developing an open-source AIM Plugin or AIM Custom Client application with the AIM SDK, you may require individuals who compile your source to obtain their own keys, or you may embed a Dev key into own your source code.
Can I charge people for software I've developed using an AIM SDK?
Yes.
Can I sell advertising in my AIM Plugin or AIM Custom Client?
Yes, however only AOL advertising as specified at the Additional Feature Requirements page counts towards your obligation to implement two of the Additional Feature Requirements.

AIM Presence

What is AIM Presence?
AIM® Presence lets other people know when you're online and available to communicate. In the AIM client, you can see whether your buddies are online, offline, away, idle or mobile on your Buddy List® feature. With AIM Presence, you can now see this information on the Web, regardless of whether or not someone is on your Buddy List feature. It's like the old AIM Remote, but better.
Can I add AIM Presence to my application or commercial site?
Yes, commercial use is allowed.
How does AIM Presence work?
AIM Presence talks directly with the AIM servers to get real-time information on the requested buddy's availability. The HTML interface queries the AIM Presence server, which returns a GIF to reflect the user's state. The XML interface returns an XML file with additional metadata that you can use to customize the information displayed.
How do I add AIM Presence to my Web page?

The easiest way to use AIM Presence is to embed the HTML below in your Web site. This HTML will automatically display your online availability to people visiting your site.

<a href="aim:GoIM?screenname=screenname"><img src="http://api.oscar.aol.com/presence/icon?k=key&t=screenname"/></a>

In the URL above, key is your universal key and screenname is the screen name that you wish to display.

Advanced Presence Features

We're providing an XML interface that offers additional metadata. The syntax for this interface is:

http://api.oscar.aol.com/presence/get?k=key&f=xml&t=screenname

Here, key is the requesting user's universal key and each 't' argument is one or more screennames you want presence for. To request advanced presence for one screenname:

http://api.oscar.aol.com/presence/get?k=key&f=xml&t=screenname

For multiple users, simply add one or more 't' arguments to the url:

http://api.oscar.aol.com/presence/get?k=key&f=xml&t=screenname1&t=screenname2

Here's an example using the XML interface to query presence for a single user:

http://api.oscar.aol.com/presence/get?k=key&f=xml&t=hellotokyo94

Here's another example, this time using the XML interface to query presence for multiple users at once:

http://api.oscar.aol.com/presence/get?k=key&f=xml&t=hellotokyo94&t=llamalover867&t=BigHairGurl84

Keep in mind that these examples will return XML data. It's up to you to format the data to display. You can also substitute f=json for the f=xml to have JSON data returned instead of XML.

What if I want to display the presence of more than one AIM screen name?
You may use the AIM Presence API and icon to display online presence for other screen names, as long as you have received consent from each screen name. Consent includes telling the user that his or her screen name and online status will be publicly displayed. You must also include a link to http://dev.aol.com/aim/faqs on your site so your users can find out more about AIM Presence.
Are there any other restrictions or requirements for my use of the AIM Presence API?
We have tried to highlight many of the requirements here, but to ensure your application is fully compliant, please refer to the latest version of the Developers License Agreement.
Why do visitors to my Web page get an error message when they click on my AIM Presence icon?
Visitors must have the AIM software installed to utilize the full features of AIM Presence. If a user clicks on your icon and does not have the program installed, the user will receive a "Page cannot be displayed" error.
Why can't visitors to my Web site see my online availability?
If you have chosen to utilize the Allow List feature in the AIM service, other users will not be able to see you online unless they're on that list. Check your privacy settings to make sure you aren't blocking anyone unintentionally. If you are online but invisible, other users will see you as offline.
Someone is using AIM Presence to display my availability without my consent. What do I do?
Your privacy is very important to us. Please contact us directly at ReportDevAbuse@aol.com and be sure to include any relevant details, such as your screen name and the URL in question. We will work with you to achieve a resolution.
How do I turn off AIM Presence on the Web for my screen name?
You must enable the Allow List in the AIM client. This feature lets you manage who can see you online. To enable the Allow List, go to your AIM settings in your AIM application. Under the Privacy tab under "Who can contact me," click on either "Allow only users on my Buddy List" or "Allow only the users below." By doing this, you will be limiting who can send messages to your AIM screen name as well as turning off your AIM Presence from the Web. If you are online but invisible, then other users will see you as offline. This case is true both inside the client and on the Web via AIM Presence.
I am having trouble with the AIM Presence APIs. What do I do?
Please consult the documentation included with the API. If you can't find your answer there, please visit the AIM Presence Forum for assistance. Our developers check the boards regularly.

AIM Plugins

What is an AIM Plugin and what can it do?
AIM Plugins can add features and functionality to the AIM Client or an AIM-Enabled Application. The AIM SDK provides you with full access to the services used by the AIM Client, so your AIM Plugin can do almost anything the AIM Client can. Note: While AIM Plugins are compatible with the AIM Client and AIM-Enabled Applications, all AIM Plugins will not work with AIM 5.9 or below. Module Plugins—described below—require AIM 6.8 or higher.
Are there any restrictions on what I can build?
We tried to make the Open AIM Program as restriction-free as possible, but in order to help protect our network and users, certain rules apply. In particular, AIM Plugins cannot block, disable, or otherwise affect any advertising, advertisement banner window, tabs, links to other sites and services, or other features that are part of the client software of an AOL service or the service itself. Please refer to the Developers License Agreement for details.
What do I need to get Started?
  1. Get a unique identifier or key (AKES) for your plugin at the Open AIM Key Management Pages.
  2. Check out the Plugins page for technical documentation on the SDK and options available to build your plugin.
  3. Check out our extensive samples and feel free to reuse the code in them to build your own plugin. You can start with one of our samples and modify it to do what you need it to do for you.
  4. Publish the plugin at the AIM Gallery and get instant access to the AIM community.
Are there distribution restrictions?
No.
Where can I find the latest version of the AIM SDK?
You can always find the latest version of the AIM SDK at the Open AIM Downloads Page.
Which version of the AIM SDK should I use?
The SDKs published at the Open AIM Downloads Page have a description as to what they can be used for.
Are there any other restrictions or requirements for my AIM Plugin?
We have tried to highlight many of the requirements here in the FAQs, but to ensure that your application is fully compliant, please refer to the latest version of the Developers License Agreement.
I am having trouble with the AIM SDK. What do I do?
Please consult the documentation included with the SDK. If you can't find your answer, visit the AIM Plugins Forum, and post your question for assistance. Our developers check the boards regularly.
What does hashing or fingerprinting a plugin mean?
Hashing is adding a layer of security to your plugin. It means that if anyone modifies your plugin it will be rendered unusable unless it is re-hashed using your credentials. A fingerprint uniquely identifies the plugin. A fingerprint is a SHA-256 hash and is tied to a key. You can create a fingerprint by running the acchash tool distributed as part of the AIM SDK. Fingerprints are optional for plugins.
My AIM Plugin compiles and runs, but can't get on the network.

Here are a few tips to consider if you're experiencing this:

  • Have you registered for a key? You will need one to gain access to the AIM network.
  • If you entered a fingerprint, make sure the fingerprint you've associated with the key matches the fingerprint of the AIM Plugin using the key.
  • Are you using the correct type of key? AIM Plugins will only function using AIM Plugin keys.
I have been working with an AIM Plugin key and found a bug in the SDK. How do I report it?
Please visit the AIM Plugins Forum and post what you've found. Our developers check the boards regularly.
My Plugin is not doing what I expect it to. How do I troubleshoot my Plugin?
Install the CoreWitness AIMcc Plugin (found on AIM Gallery and use it to see the AIMcc events coming through. If you have the Visual studio installed, you can debug your Plugins within devstudio. CAUTION: Plugins have full access to the AIMcc session object and DAccEvents, hence the onus lies on them to keep things stable. Beware of script errors, they cause silent and unpredictable failures, it is advisable to keep script debugging enabled.
Where can I get a good script debugger?
Microsoft Visual Studio 2003 is the one we use internally.
What do the AIMcc objects referred to in the documentation stand for?
  • Primary Session. Interface IAccSession is the main interface to access Open AIM or AIMcc functionality
  • DACCEvents. Event interface which AMOs can snag to get events like OnImSent, OnUserChange, etc.
  • Linked sessions. Used if your account has one or more linked Screennames
  • Preferences. The IAccPreferences interface is for getting/setting server-based or local preferences
What is a Module Plugin? How is that different from other plugins?
A Module Plugin is a plugin that allows you to add functionality or a mini-application in a separate UI “module” area in the AIM Client.

It is specifically designed to take advantage of the new capabilities of AIM 6.8 clients and above, and will only work within those clients. With a Module Plugin you can enhance the AIM Client by changing UI elements by adding features such as a stock ticker or weather reports! Check out our Tutorial for more information, and browse some examples at the AIM Gallery!
What exactly is an .amo file?
Module plugins are required to be saved as a .amo file, which is simply a zipfile with the extension renamed. You can open it with winzip to examine and modify its contents.
What is Docking/Undocking?
Module Plugins may be designed so that they may be popped out of the Client Module area and moved to a different place on your desktop. If this option is present, the user will see a dock/undock icon on the plugin module. AIM will remember which plugins were open and their location on your desktop when you last signed off. The next time they sign on, the module will reappear in its last location on the desktop. Size and position are remembered per user, so everyone can have their AIM service just the way they want it!
This sounds great, but I don’t really know what kind of plugin to build?
Everybody needs a little inspiration now and again. Visit the AIM Gallery to see some plugins that have already been built, or take a look at our code samples to see what lies under the hood of some basic plugins.
What are the Module Plugin guidelines?
  • Design the size of the docked module plugin to fit into the space in the module area
  • Keep the plugin title compact to ensure it isn’t truncated
  • Keep CPU intensive tasks to a minimum
  • Ensure that contents loaded into a plugin are safe
  • Use "load at sign on" with extreme caution, as it impacts AIM load time. If people don’t want to load AIM because it takes too long, they won’t be using your plugin!
  • Your Module Plugin page is part of the AIM application, so try to avoid stealing focus away from the client unless the user is interacting with your Module Plugin. In other words, do not call the focus() function in your javascript.
  • Do not set requiresSession to true if your Module Plugin does not access window.external.client.primarySession or window.external.client.buddylistSession
  • Do not set requiresDom to true if your Module Plugin does not access window.external.window.dom
  • Unless your Module Plugin is marked as "loadAtSignon", the startup page in your Module Plugin will be reloaded when the user switch to a different plugin and then switch back, hence losing the navigation history in your Module Plugin. Use the prefs object to keep track of and restore state information.
  • Avoid marking your Module Plugin as "loadAtSignon" if not necessary. Enabling this will cause your Module Plugin to be loaded all the time, although invisible.
Can I bundle my Module Plugin in an installation package that includes other components?
Yes, this is doable, but the installation of the Module Plugin still has to happen via the AIM 6.8 client, and there is UI displayed to install the plugin. If your install does need to restart AIM to reload any components like AIM Plugins which are not Module Plugins, it is recommended that you do not kill the AIM client after your installation and instead message to the user to sign off and sign on again.
What format and resolution should I use for the Module icons?
  • smallIconUrl should be a 16 pixel by 16 pixel image.
  • iconUrl should be a 32 pixel by 32 pixel image.

AIM will scale the image to fit. If only one of the 2 icons is given, AIM will scale the image to fit the other size. Currently the 32x32 icon is only used in the “popToast” function, so it you only want to make one icon, make the 16x16 size.

AIM supports .PNG, .GIF and .JPEG formats. (Progressive JPEG files have not been tested.)

What size is the module area?

The sizes supplied in the plugin.xml, and the minimum for the docked module area, are controlled by the browser. This is the inside area not counting the border or title bar.

The minimum size of the docked module is 150 horizontal pixels by 150 vertical pixels. The current minimum buddy list width is 156 pixels, so your docked Module will never go below that size. When the module is undocked its minimum width is 182 horizontal pixels.

The "pluginFixedSize", or “pluginMinSize” should not be less than “182,150”.

The x, y, width, and height in the window.client.openWindow function are the outer dimensions or the window. This is to allow for more precise positioning of windows. Watch out for the difference between the window.client.openWindow dimensions, and the dimensions in the plugin.xml.

How can I build my Module (.amo) file?

Make a batch file "wrap.bat" with the following contents:

  • @echo off
  • del YOURAMONAMEHERE.amo
  • zip YOURAMONAMEHERE.amo *.* -xi wrap.bat
  • start YOURAMONAMEHERE.amo

You can just double-click it to wrap and install the plugin. NOTE: the -xi argument in zip is a command to ignore the files and folders you list after it.

You can get a command line zip tool from here: http://www.info-zip.org/.

AIM Custom Clients

What can I do with the AIM SDK?
If you registered for an AIM Custom Client key type, with the AIM SDK you can add IM functionality to your own application, or even write your own AIM client.
Are there any restrictions on what I can build?

We tried to make the Open AIM Program as restriction-free as possible, but in order to help protect our network and users, certain rules apply. In particular, developers are not permitted to build AIM Custom Clients that are multi-headed interoperable with any other IM network. Please refer to the Developers License Agreement for details.

Are there any distribution restrictions?
No.
Are there any other restrictions or requirements for my AIM Custom Client application?
We have tried to highlight many of the requirements here in the FAQs, but to ensure that your application is fully compliant, please refer to the latest version of the Developers License Agreement.
What is AIMCC?
AIMCC stands for AIM® Custom Client. It is a set of libraries providing access to AIM functionality.
Where can I find the latest version of the AIM SDK?
You can always find the latest version of the AIM SDK at the Open AIM Downloads Page.
Which version of the AIM SDK should I use?
AIM SDK 1.5 is available for all supported platforms and is intended for developers building AIM Plugins for AIM 6, as well as AIM Custom Clients or AIM Bots.
Are there minimum functionality requirements for AIM Custom Client applications?

Your AIM Custom Client must include the following functionality/UI screens:

  • sign-on screen allowing users to enter their screen name and password
  • the ability for users to report IM spam to AOL
  • the ability for users to block other users (e.g. – an IM spammer).
I am having trouble with my key or the AIM SDK.
Please consult the documentation included in AIM SDK. If you can't find your answer, visit the AIM Custom Clients Forum for assistance. Our developers check the boards regularly.
My AIM Custom Client compiles and runs, but can't get on the network.

Here are a few tips to consider:

  • Have you registered for a key? You will need one to gain access to the AIM network.
  • If you entered a fingerprint, make sure the fingerprint you've associated with the key matches the fingerprint of the AIM Custom Client using the key.
  • Are you using the correct key? AIM Custom Clients will only function using AIM Custom Client keys.
I have been working with an AIM Custom Client key and found a bug in the SDK. How do I report it?
Please go to the AIM Custom Clients Forum and post what you’ve found there. Our developers check the boards regularly.

Voice/Video

Can I use AIM Talk, AIM Phoneline, or video chat in my AIM Plugin, AIM Custom Client, or AIM Bot?

An AIM Plugin loaded by AIM 6 can use the full set of audio and video capabilities provided by AIM 6. This includes interoperability with:

  • AIM 6
  • AIM 5.9
  • AOL 9.0
  • Apple iChat (to the extent that AIM 6 interoperates with iChat)
  • AIM-Enabled clients

AIM Custom Clients and AIM Bots can only use audio capabilities at this time. The audio and video capabilities are currently supported on Windows only.

Where can I download the sipXtapi source code?
You can download the source code used to create the sipXtapi.dll included in the AIM SDK from here (SDK 1.2.4 and below) or here (SDK 1.5) . For more information, please refer to the SIPfoundry.

AIM Bots

What is an AIM Bot?
An AIM Bot is a screen name that can respond automatically to the IMs it receives. It is capable of maintaining high volume IM conversations with multiple users simultaneously, but cannot initiate IM conversations without special permission.
What can I do with an AIM Bot?

As a user, you can have a screen name send you or any other AIM user information and content when you IM it. An example would be the Moviefone bot, which will IM you movie time and info when you request it. As a developer, AIM Bots allow you to easily provide relevant content and information via IM. Additionally, bots allow you to create real-time interactive experiences that can be enjoyed by yourself and others. Create a bot that provides song lyrics, state capitals, jokes or pictures on request.

Still not sure what you can do with a Bot? Check out the AIM Gallery for more examples!

Can AIM Bots initiate IM conversations?
AIM Bots can initiate conversations to users that have that bot on their Buddy List. If you are interested in developing a bot that can initiate conversations to users that do not have the initiating bot on their Buddy List, please contact us using this form with a description of your bot.
Are there any other restrictions on what AIM Bots can do?

We tried to make the Open AIM Program as restriction-free as possible, but in order to help protect our network and users, certain rules apply. We have highlighted some below, but please refer to the Developers License Agreement for details.

  • AIM Bots are limited to sending 10,000 IMs per day, up to 150,000 IMs per month.
  • AIM Bots can be buddy-listed by more than 10,000 buddies, but can only appear online to up to 10,000 buddies at once.
  • AIM Bots cannot be warned.

If the needs of your bot exceed these restrictions, please contact us via this form with a description of your bot.

How do I build an AIM Bot?
You have several options to construct your AIM Bot. You can register for an AIM Custom Client key and download the AIM SDK, which contains sample code for creating AIM Bots in C++, Visual Basic, and Java. You also have the option of using 3rd party libraries to create your AIM Bots, although these libraries are unsupported.

Web AIM

What can I do with the Web AIM APIs?
With the Web AIM APIs, you can build mashups that integrate AIM's presence, personalization, and communication capabilities directly into your website. Want to see some examples? Check out the AIM Gallery.
How do I access the Web AIM APIs?
You can access the Web AIM APIs by either including an AOL-hosted JavaScript file or calling the URL-based APIs directly. The JavaScript can return results in JSON or XML, and also encapsulates the handling of user authentication and consent. Please review the Web AIM tutorials or Web AIM Reference Documents for more information.
How do I add Web AIM to my webpage?
You can use the JSON and URL-based APIs directly, or embed an AIM Whimsical on your page. AIM® Whimsicals™ are widgets that you can add to your web page with just a few lines of HTML. You can add AIM Whimsicals that provide the Buddy List feature, IM, and presence functionality. You can read more on the Web AIM tutorials page on how to mash them up with other feed or services, or build your own themes for them.
You mean I can do all of this with just the user's screenname and password?
Users will be required to authenticate before using a Web AIM-based application or service. After authentication, the user must give consent for the website to access his or her personal information and perform actions on his or her behalf. There are two consents that the user will be required to give: (1) send IM and (2) for all other action and data requests.
What is user consent? When is it required?
After authenticating, user consent is required to access the user's personal information (including Buddy List) as well as send IMs. This confirmation provides additional notification to the user of the site's intent to access his or her personal information and/or send IMs on his or her behalf. Developers should make their privacy policy available for users to review.
How long is the user's consent valid for?
The user has the option to grant consent for the current session only or deny access to the requested service for the session.
What are AIM Whimsicals?
AIM Whimsicals are viral, mini-web applications that use the Web AIM APIs.
If I use Web AIM with referrer check on multiple pages on my site, am I required to obtain a key for each page?
You can specify a hostname and partial path (e.g. – http://www.example.com/path/to/dir) in the URL field on the Web AIM registration page. All pages located in this directory will be able to use Web AIM.
I want to build an AIM Whimsical. If my users want to put it on their own web page, will they be required to register for a key?
Only if you have entered an url for the referrer check..
Are there any other restrictions or requirements for using Web AIM or AIM Whimsicals?
We have tried to highlight many of the requirements here in the FAQs, but to ensure that your application is fully compliant, please refer to the latest version of the Developers License Agreement.

AIM Groups

What are the different categories of Buddy Groups?

There are two categories of Groups, Public groups and Private Groups. A Private group would be a group unique to your Buddy List that you created, and you have total control over it. For example, "Work", "Buddies", "AIM Dev", etc. You control who get's added or removed or even if the group exists.

A Public group is one that is created by other means. This allows you to create or join a group via a webpage and it automatically added a Buddy List Group of all the members to your Buddy List. IM Blast Groups behave this way. You join the Blast Group. It get's added to your Buddy List. When you leave the group, the group is removed from your Buddy List.

"Bebo", and "My WIMZI" are groups that can not be deleted.

  • Smart Groups – http://buddyinfo.aim.com/sg
  • Wimzi - http://wimzi.aim.com/ - click on manage
  • Bebo – Not currently deletable.
  • Blast – http://blast.aim.com - you can go to blast.aim.com and unsubscribe from the group which will make the group disappear from your Buddy List.