General questions

What is API BaaS?

One of the components of the Apigee Edge platform, API BaaS is a powerful, cloud-based backend as a service (BaaS) that provides app developers with features to easily enrich their Web and mobile apps, while speeding development. Features include a flexible data store, social graph functionality, geolocation, user management, push notifications, client authentication, performance monitoring, and more, all available via a RESTful API.

For more details on everything API BaaS has to offer, see API BaaS features.

What's the difference between API BaaS and Usergrid?

Usergrid is an open source project that provides a highly-scalable backend as a service for powering mobile applications. API BaaS is an Apigee-hosted fork of Usergrid, which includes additional features not available in Usergrid, including push notifications, app monitoring, A/B testing, and more.

Because Usergrid is the core of API BaaS, you may still find mentions of Usergrid in Apigee documentation, samples, and elsewhere. For example, API BaaS is still accessed by sending HTTP requests to api.usergrid.com.

The full open source distribution of Usergrid can be downloaded from Github.

How do I sign-up for Apigee's API BaaS?

To use API BaaS, you will need a free Apigee developer account. Register now!

Once you're signed-up, check out Using a Sandbox Application for tips on using your account's included sandbox application, and Creating a new application for information on how to create additional applications.

Are there any limits on the number of API calls I can make to API BaaS?

Nope! There are no usage limits for API BaaS; make as many calls as you need.

Data store

How much data can I store in Apigee's API BaaS?

Free Apigee Developer accounts include 25GB of storage at no cost. Tiered pricing is available for additional storage.

How is data stored in API BaaS?

Apigee's API BaaS stores all data as JSON-formatted objects. This means that just about anything can be stored in API BaaS, including files, user data, application data, binary data, and more. If it can be represented in JSON, it can be stored in API BaaS.

On the backend, API BaaS stores all data in a NoSQL database that runs Apache Cassandra. Not familiar with NoSQL or Cassandra? Read our overview of the API BaaS DBMS for more information.

How can I optimize my usage to get the most out of my NoSQL data store?

Storing data in a NoSQL database creates unique benefits, but also requires a slightly different approach to storing and retrieving data from a traditional RDBMS such as MySQL. For more information, see our article on optimizing access to your data store.

Can collections be deleted?

Currently, collections are immutable, but you can remove all of the data entities from a collection. For more information see Default Data Entity Types.

Push notifications

Is there a limit to how many push notifications I can send at one time?

No, but for best performance we suggest you limit the number of push notifications to 10,000 per single request. If you need to send the same message to more than 10K devices, we suggest that you break up up the devices into batches (for example, use groups), and send each batch. You can also potentially speed up the delivery of all the messages by sending notifications in parallel.

Is there a limit to how many push notifications I can send per month?

Free Apigee Developer accounts include 10 million push notifications per month at no cost. Tiered pricing is available for additional capacity.

I’ve got millions of devices to send notifications to. What’s the best way to send the notifications?

To drive the most engagement, our suggestion is to send highly targeted push notifications to small groups of individuals. Also, scheduling the push notifications to be sent at certain times (for example, lunchtime, before work, or just after work) will increase the effectiveness of the notifications. You can schedule your push notifications throughout the day based on your customers' geographic locations.

What are the state stages for a notification message?

A push notification passes through the several states during its life. You can get information about a notification's current state from the admin portal, on the Message History panel.

The possible states are listed in the following table:

State Description
CREATED The notification was created in the system.
SCHEDULED The notification has been scheduled for delivery.
STARTED The system has started to send the notification.
FINISHED The system has finished sending the notification.
EXPIRED The notification time expired. The notification will no longer be sent.
CANCELED The notification was canceled and will not be sent.
FAILED The system was unable to send the notification.

The normal flow from state to state is as follows:



Do you offer SDKs?

Yes! You can access the services from your mobile or Web app using our SDKs, available for the following platforms:

  • Javascript/HTML5
  • iOS
  • Android
  • Node.js
  • Ruby
  • .NET

To download an SDK, visit our SDK download page.

How do I integrate an Apigee SDK into my app?

See the complete list of install guides availabe on our SDK download page.

What are the system requirements to build the iOS SDK from source?

Xcode 5.0 (or later). Xcode 5 requires Mac OS X Mountain Lion (or later).

What are the system requirements to integrate the iOS SDK into my iOS application?

  • Xcode 4.x (support for iOS 5.0 or later). Xcode requires Mac OS X.

Can I get the source for your SDK?

Absolutely! All of our SDKs are open source and available on Github.