What are the limitations to the Urban Airship Engage API?

Urban Airship provides a RESTful API that you can use to send and schedule pushes, manage your device audience, and retrieve reporting data about your device audience and pushes.

There are no hard limits to the amount of data you can retrieve or request to Urban Airship, however there are recommended guidelines for each of our API endpoints that should be heeded in order to reduce the number of timeouts you may encounter when querying any of the below endpoints.

If you encounter a HTTP 50x response on endpoints that use GETs, PUTs, or DELETE methods ensure that your server implements a retry method with an exponential back-off to ensure the best possible service. Also set a realistic timeout, as your performance may vary depending on the API endpoint used. 

Complex Segments can cause delays in processing

When creating segments or pushes with logical expressions keep in mind that one or more NOT statements may cause latency when sending notifications, as NOT operations are inherently more expensive to perform than OR or AND operations.

Latency is greater with larger audiences. We recommend using AND statements in place of NOT statements whenever possible as a best practice

Device changes can take a few minutes
Some requests to register or unregister information about a device may take a few minutes to process before you are able to see the changes. Keep this in mind when performing PUT or POST requests.

Push API

POST /api/push

Push Object

    • A Push Object describes everything about a push, including the audience and push payload. A Push Object is composed of up to six attributes with the following limits:
      • Total: Max limit is dependent on the platform you are sending to (iOS, Android, Amazon) in addition to a 256 KB limit for the Message Center.
      • Platform Overrides

        • iOS: Max limit is set to 2,048 bytes
        • Android: Max limit is set to 4,096 bytes
      • In-app Message

        • In-app messages are sent via the same payload as iOS and Android, so the payload limits for their respective platform apply here.
      • Audience

      • Notification Payload

Limits to batching push requests

    • Please include no more than 100 Push Objects in your batch request.

Segments API

GET /api/segments/

Segment Object Limit

    • Default limit is set to 25 Segment objects per request. Set to limit to 25 or less in your API calls.

Schedules API

POST /api/schedules/

Batch Limit

    • Include no more than 1000 Scheduled Objects in your batch request. For Local Time Delivery, include no more than 100 Scheduled Objects in your batch request.
GET /api/schedules/

Schedule Object Limit

    • Default limit is set to 25 Schedule Objects per request. Set the limit to 25 or less in your API calls.

Automation API

GET /api/pipelines/?limit=(integer)&enabled=(enabled_flag)

Pipeline Object limit

    • No default limit. For maximum performance, set your limit between 25 to 100.
GET /api/pipelines/deleted/?start=(date)

Pipeline Object limit

    • No default limit.

Tags API

POST /api/channels/tags/

Tags Limit

    • We recommend to not set more than 1000 tags per Channel ID.
POST /api/named_users/tags/

Named User Limit

    • Hard limit is set to 50 Named Users per Channel ID.

Channels API

GET /api/channels/

Object Limit

    • Default limit is 1000 Channel Objects returned per request. Set the limit to 1000 or less in your API calls.
POST /api/channels/uninstall/ 

Channel ID Object limit

    • Recommended limit of no more than 100 Channel ID Objects per uninstall request.

Reports API

GET /api/reports/responses/list?start=(date)&end=(date)&limit=(results_per_page)

Push Reports Object Limit

    • Default limit is 25 Push Reports objects per request. Set your limit to 25 or lower in your API calls.

Time stamp limit

    • Try to choose a start and end date where the time frame is within the last month. Setting a start and end date that is larger than that time window may result in a timeout or slower response.

Named Users API

GET /api/named_users

Named User Object Limit

    • Default limit is set to 1000.
POST /api/named_users/associate

Named User ID Limit

    • You may only associate up to 20 Channel IDs to a Named User.

Lists API

POST /api/lists/ 

Lists Limit

    • You can upload up to 50 lists per application
PUT /api/lists/(name)/csv

List Object Limit

    • Each List can hold no more than 10 million identifiers.

Related Content