API Documentation

About the AI as a Service (AIaaS) API

NOTE: This platform is legacy platform. A significantly upgraded version of this Developer Portal is now available. Please create a new account to leverage the latest features, or contact support@pandorabots.com for help transitioning. This service will be deprecated at the end of 2018.

The Pandorabots API allows you to integrate our bot hosting service and natural language processing engine into your own application.

The current offering allows you to create a bot, upload files, compile, talk to a bot (in a variety of ways), and delete a bot.

Please take some time to read over the documentation below.


1 - User Key

You should include your user key as a URL parameter to each API call that you make:


Your Application ID is required in the path of your request. This can be found on your application's page. You may have multiple bots under the same app_id.

2 - Rate Limits

When you registered for an account, you picked a plan that specified some limits on API and usage of our server. If you want to upgrade your plan or discuss customized options, feel free to contact support@pandorabots.com

Bot Files

AIML is a markup language that contains many rich features for creating chatbots. If you have written AIML before, or if you already have bot files, you can start from scratch and upload files via the API.

We have released a base bot called Rosie, which will serve as a great starting place for any bot developer. Rosie is a fork of the A.L.I.C.E. project, and is optimized for use on the Pandorabots platform. She comes preloaded with tons of reductions, sets, and maps, which means you won't have to reinvent the wheel in order to have a conversational bot.

Download Rosie

If you do not wish to use Rosie as a chatbot base, we suggest you at least grab the substitution files available on Github and upload them to your bot. These files perform input pre-processing as well as allow certain string transformations to take place in AIML templates. Refer to this blog post for more information regarding the use of substitutions and substitution files.

You may download the AIML utilities repository from our Github as well.

Bot Compilation

If you are a user of the Playground, one concept that may be unclear to you is that of bot compilation. Each time you modify or upload a new file, the bot must be compiled before the changes are available during conversation.

If you have just created bot, you must compile it before using the Talk API.

If you have previously compiled a bot, but have since made changes or uploaded a new file, the changes will not be apparent until you re-compile the bot. You may still use the Talk API, however, you will be talking to the previously compiled version of the bot.

Active Docs

Explore each API resource below and test them out using your own parameters.

Steps to Basic Bot Deployment:
1) Create a bot
2) Upload bot file(s)**
3) Compile bot
4) Talk to your bot

**NOTE: The current standard of open source Swagger.js has a bug causing a problem with file upload. There is a current workaround implemented; if you want to use this interface for uploading a file, you will need to copy the file content into the input field. For file upload, we recommend using our own CLI or a REST client of your choice (e.g. Postman Chrome extension).

HOSTNAME: aiaas.pandorabots.com



We offer a number of free SDKs that support various languages, available for download on Github:

These modules provide easy-to-use methods for all of our APIs.

Also available are SDKs developed by the PB community (please contact the individual contributor regarding any questions you may have on the following SDKs):

Special thanks to the PB community for contributing to these open-source efforts, including:

Dr. Richard Wallace
Daniel Fried
Michael Kunze
Takuya Tsuchida
Keisuke Nakamura
Slavik Markovich

We strongly encourage anyone interested to develop and share their own SDK projects! If you’d like us to evaluate and link to your pb- SDK on this page, email info@pandorabots.com.