1. Home
  2. Developers
  3. REST API
  4. Apptentive API (Beta)

Apptentive API (Beta)

The Apptentive API provides programmatic access to the data set by the Apptentive SDK and associated with a given app. The API is organized around REST, and responses are sent using JSON. All API access is performed over HTTPS/TLS connections with a base endpoint of https://api.apptentive.com.

Please note that the API is currently in beta and subject to change. While the API is in beta, you must request explicitly request your API keys from support@apptentive.com. Access to the API is available to Enterprise customers only.

Authentication

Authentication is required for accessing all API endpoints. The Apptentive API uses your API key as an OAuth token, and to authenticate you must provide this token in the Authorization header. For example:

curl -i -H "Authorization: OAuth ea0b3686bfadf43245944e841e611c8a7d25cdd21098a9f83c3030553a593a71" https://api.apptentive.com/conversations

Please note that the API key used for accessing these endpoints is different than the key used with the Apptentive SDK within your app.

Status & Errors

Standard HTTP Response codes are used to indicate the status of requests. In general, codes in the 2xx range indicate success, codes in the 4xx indicate an error in the data provided by the client, and codes in 5xx indicate an error on the server.

Status Code Summary:

  • 200 The request succeeded.
  • 201 The request succeeded and an object was created.
  • 401 Authentication failed and the request was rejected.
  • 403 Authentication succeeded by the request is not permitted and was rejected.
  • 404 The requested resource could not be found.
  • 422 The request included invalid input and was rejected. The specific invalid input will be included in the response.
  • 500,502,503 There was an internal server error. You should retry the request at a later date.

Paging

Many of our APIs allow for accessing more data than can be efficiently returned in a single API call. For these APIs, the objects returned will be sorted by id and you may page through them by providing a starts_after parameter with an id as the non-inclusive offset for the results.

APIs which support paging will return the following additional attributes:

  • ends_with — The id of the last object returned on the current page. This should be provided as the value of starts_after to fetch the next page of results.
  • has_moretrue when additional objects are available for retrieval; false otherwise.
  • total — The total number of objects available. Note that for performance reasons total may not be available in all API responses.

For example, to retrieve the first page of Conversations:

curl -i -H "Authorization: OAuth ea0b3686bfadf43245944e841e611c8a7d25cdd21098a9f83c3030553a593a71" https://api.apptentive.com/conversations
{
  "conversations": [{
    "id": "5234f08cbca21f834800004d",
    "person_id": "5234f08cbca21f834800004e",
    "device_id": "5234f08cbca21f834800004f"
  }, {
    "id": "5234f08cbca21f834800004e",
    "person_id": "5234f08cbca21f834800004f",
    "device_id": "5234f08cbca21f834800004b"
  }],
  "has_more": true,
  "ends_with": "5234f08cbca21f834800004e",
  "total": 4
}

To fetch the next page:

curl -i -H "Authorization: OAuth ea0b3686bfadf43245944e841e611c8a7d25cdd21098a9f83c3030553a593a71" https://api.apptentive.com/conversations?starts_after=5234f08cbca21f834800004e
{
  "conversations": [{
    "id": "5234f08cbca21f834800004f",
    "person_id": "5234f08cbca21f834800005a",
    "device_id": "5234f08cbca21f834800005b"
  }, {
    "id": "5234f08cbca21f834800005a",
    "person_id": "5234f08cbca21f834800006a",
    "device_id": "5234f08cbca21f834800006b"
  }],
  "has_more": false,
  "ends_with": "5234f08cbca21f834800005a",
  "total": 4
}

Conversations

The central object for an App is a Conversation. Each Conversation has an associated Person and Device, and provides the context for the messages and other interactions that occur for that given Person on that given Device within the given App.

Retrieving Conversations

Supports Paging

A list of all Conversations for the App may be retrieved with a GET request to https://api.apptentive.com/conversations. For example:

curl -i -H "Authorization: OAuth ea0b3686bfadf43245944e841e611c8a7d25cdd21098a9f83c3030553a593a71" https://api.apptentive.com/conversations

The response will contain an array of Conversations (in ascending creation order), as well as a flag indicating whether more Conversations are available:

{
  "conversations": [{
    "id": "5234f08cbca21f834800004d",
    "person_id": "5234f08cbca21f834800004e",
    "device_id": "5234f08cbca21f834800004f"
  }, {
    "id": "5234f08cbca21f834800004e",
    "person_id": "5234f08cbca21f834800004f",
    "device_id": "5234f08cbca21f834800004b"
  }],
  "ends_with": "5234f08cbca21f834800004e",
  "total": 400,
  "has_more": true
}

Each Conversation will include the id for the Conversation, the person_id for the associated Person, and the device_id for the associated Device.

Conversations are in one of four possible states:

  • new indicates that the conversation has been created but has not yet received any messages.
  • open indicates that the the person associated with the conversation has left a message that has not yet been responded to.
  • waiting indicates that the person associated with the conversation has been responded to.
  • archived indicates that the conversation has been archived.

You may optionally filter for conversations in a specific state by including the state argument along with a comma-separated list of states to match. For example, to return all conversations where at least one message has been received:

curl -i -H "Authorization: OAuth ea0b3686bfadf43245944e841e611c8a7d25cdd21098a9f83c3030553a593a71" https://api.apptentive.com/conversations?state=open,waiting,archived

Retrieving a Specific Conversation

A specific Conversation for the App may be retrieved with a GET request to https://api.apptentive.com/conversations/:id, replacing :id with the appropriate id (e.g. as returned in the API above). For example:

curl -i -H "Authorization: OAuth ea0b3686bfadf43245944e841e611c8a7d25cdd21098a9f83c3030553a593a71" https://api.apptentive.com/conversations/5234f08cbca21f834800004d

The response will include the id for the Conversation, the person_id for the associated Person, and the device_id for the associated Device:

{
  "id": "5234f08cbca21f834800004d",
  "person_id": "5234f08cbca21f834800004e",
  "device_id": "5234f08cbca21f834800004f"
}

Retrieving Messages Associated with a Conversation

Supports Paging

All of the Messages associated with a given conversation may be retrieved with a GET request to https://api.apptentive.com/conversations/:id/messages, replacing :id with the appropriate id (e.g. as returned in the API above). For example:

curl -i -H "Authorization: OAuth ea0b3686bfadf43245944e841e611c8a7d25cdd21098a9f83c3030553a593a71" https://api.apptentive.com/conversations/5234f08cbca21f834800004d/messages

The response will contain an array of Messages (in ascending creation order), as well as a flag indicating whether more Messages are available:

{
  "messages": [{
    "id": "5224f08cbca21f8348000050",
    "nonce": "9d427be7cd45fe676e6216a060094643a588c3f04802a11ac8ee452724c7",
    "custom_data": {
      "foo": "bar",
      "Cat": "Meow"
    },
    "type": "TextMessage",
    "client_created_at": 1378040790.54134,
    "client_created_at_utc_offset": 34510,
    "created_at": 1378152588.071,
    "sender": {
      "id": "5224f08cbca21f834800004e",
      "name": "Ms. Sally Example",
      "profile_photo": "https://secure.gravatar.com/avatar/70f7572845e98e32dc1aefa9f3cf48d3.png?d=mm&r=PG"
    },
    "body": "Initial message #0"
  }],
  "ends_with": "5224f08cbca21f8348000050",
  "total": 100,
  "has_more": false
}

Each message will include the following attributes:

  • id The id of the Message.
  • nonce A unique identifier provided by the Message creator to ensure that duplicate Messages are not accidentally created.
  • custom_data Message-specific key/value pairs provided by the Message creator.
  • type The type of message. One of “AutomatedMessage”, “TextMessage”, or “FileMessage”
  • client_created_at The timestamp (with fractional seconds) that the client provided when creating the Message. Note that the time provided by the client cannot always be trusted due to incorrectly configured clocks, etc.
  • client_created_at_utc_offset The offset, in seconds, from UTC that client_created_at represents.
  • created_at The timestamp (with fractional seconds) that the Message was created at on the server. In UTC.
  • sender An object containing the id, name, and profile photo URL of the Person who sent the Message.
  • body The body of the Message (FileMessage and AutomatedMessage only).
  • title The title of the Message (AutomatedMessage only).
  • url The location of the file (FileMessage only)
  • content_type The MIME content type of the file (FileMessage only)
  • icon_url The location of a thumbnail image representing the file (FileMessage only)

Retrieving All People

Supports Paging

All of the known People may be retrieved via a GET request to https://api.apptentive.com/people. For example:

curl -i -H "Authorization: OAuth ea0b3686bfadf43245944e841e611c8a7d25cdd21098a9f83c3030553a593a71" https://api.apptentive.com/people

The response will contain an array of People (in ascending creation order), as well as a flag indicating whether more People are available:

{
  "people": [{
    "id": "5224f08cbca21f834800004e",
    "name": "Ms. Anais Kshlerin 9",
    "email": "ms_anais_kshlerin_94304@example.com.invalid",
    "custom_data": {
      "domain": "heathcotesmitham.net",
      "ip": "201.212.159.215",
      "ipv6": "8577:10e5:d7df:8703:2b1e:b9b3:eb73:1b2c",
      "suffix": "info",
      "username": "cordell"
    }
  }],
  "ends_with": "5224f08cbca21f834800004e",
  "total": 100,
  "has_more": false
}

Each Person may include the following attributes:

  • id The id of the given Person
  • name The full (first and last) name of the Person
  • email The e-mail address of the Person
  • custom_data Person-specific key/value pairs provided by the Person creator.

Retrieving A Specific Person

A specific Person may be retrieved via GET request to https://api.apptentive.com/people/:id, replacing :id with the requested Person’s id. For example:

curl -i -H "Authorization: OAuth ea0b3686bfadf43245944e841e611c8a7d25cdd21098a9f83c3030553a593a71" https://api.apptentive.com/people/5224f08cbca21f834800004e

The response will include the fields (detailed above) for the specific Person:

{
  "id": "5224f08cbca21f834800004e",
  "name": "Ms. Anais Kshlerin 9",
  "email": "ms_anais_kshlerin_94304@example.com.invalid",
  "custom_data": {
    "domain": "heathcotesmitham.net",
    "ip": "201.212.159.215",
    "ipv6": "8577:10e5:d7df:8703:2b1e:b9b3:eb73:1b2c",
    "suffix": "info",
    "username": "cordell"
  }
}

Retrieving All Devices

Supports Paging

All of the Devices may be retrieved via a GET request to https://api.apptentive.com/devices. For example:

curl -i -H "Authorization: OAuth ea0b3686bfadf43245944e841e611c8a7d25cdd21098a9f83c3030553a593a71" https://api.apptentive.com/devices

The response will contain an array of Devices (in ascending creation order), as well as a flag indicating whether more Devices are available:

{
  "devices": [{
    "id": "5224f08cbca21f834800004f",
    "os_name": "iOS",
    "os_version": "iPhone 5.0.1",
    "os_build": "sample build",
    "os_api_level": 13,
    "manufacturer": "sample manufacturer",
    "model": "sample model",
    "board": "sample board",
    "product": "sample product",
    "brand": "sample brand",
    "cpu": "sample cpu",
    "hardware": null,
    "carrier": "T-Mobile",
    "current_carrier": "sample current carrier",
    "uuid": "cee9e289f4fd4210ff61062c31c1c3528c5ad962",
    "network_type": "sample network",
    "build_type": "sample build type",
    "build_id": "sample build id",
    "bootloader_version": "sample bootloader version",
    "radio_version": "sample radio version",
    "custom_data": {
      "code": "molestias",
      "country": "Kenya",
      "phone_id": "7UEJ",
      "phone_number": "100.220.9123",
      "old_uuid": "WENBZ6VUMN1HPC9V11J9"
    },
    "locale_country_code": null,
    "locale_language_code": null,
    "locale_raw": null
  }],
  "ends_with": "5224f08cbca21f834800004f",
  "total": 100,
  "has_more": false
}

Each Device may include the following attributes:

  • id The id of the given Device
  • os_name The operating system name
  • os_version The version of the operating system
  • os_build The operating system build identifier
  • os_api_level The operating system API level (Android only)
  • manufacturer The manufacturer of the Device
  • model The model of the Device
  • board The name of the Device’s board
  • product The product name of the Device
  • brand The brand of Device
  • cpu The CPU type within the Device
  • hardware The hardware identifier of the Device
  • carrier The primary network carrier for the Device
  • current_carrier The currently active network carrier
  • network_type The type of network that the Device is currently using
  • build_type The type of build for the Device
  • build_id The Device build identifier
  • bootloader_version The version number of the bootloader for the Device
  • radio_version The version number for the radio firmware on the Device
  • custom_data Device-specific key/value pairs provided by the Device creator.
  • locale_country_code The two character country code for the Device’s current locale
  • locale_language_code The two character language code for the Device’s current locale
  • locale_raw The raw locale string for the Device
  • utc_offset UTC offset for the timezone the Device is currently operating in in seconds

Retrieving A Specific Device

A specific Device may be retrieved via GET request to https://api.apptentive.com/devices/:id, replacing :id with the requested Device’s id. For example:

curl -i -H "Authorization: OAuth ea0b3686bfadf43245944e841e611c8a7d25cdd21098a9f83c3030553a593a71" https://api.apptentive.com/devices/5224f08cbca21f834800004f

The response will include the fields (detailed above) for the specific Device:

{
  "id": "5224f08cbca21f834800004f",
  "os_name": "iOS",
  "os_version": "iPhone 5.0.1",
  "os_build": "sample build",
  "os_api_level": 13,
  "manufacturer": "sample manufacturer",
  "model": "sample model",
  "board": "sample board",
  "product": "sample porduct",
  "brand": "sample brand",
  "cpu": "sample cpu",
  "hardware": null,
  "carrier": "T-Mobile",
  "current_carrier": "sample current carrier",
  "uuid": "cee9e289f4fd4210ff61062c31c1c3528c5ad962",
  "network_type": "sample network",
  "build_type": "sample build type",
  "build_id": "sample build id",
  "bootloader_version": "sample bootloader version",
  "radio_version": "sample radio version",
  "custom_data": {
    "code": "molestias",
    "country": "Kenya",
    "phone_id": "7UEJ",
    "phone_number": "100.220.9123",
    "old_uuid": "WENBZ6VUMN1HPC9V11J9"
  },
  "locale_country_code": null,
  "locale_language_code": null,
  "locale_raw": null
}

Retrieving All Surveys

Supports Paging

All of Surveys may be retrieved via a GET request to https://api.apptentive.com/surveys. For example:

curl -i -H "Authorization: OAuth ea0b3686bfadf43245944e841e611c8a7d25cdd21098a9f83c3030553a593a71" https://api.apptentive.com/surveys

The response will contain an array of Surveys (in ascending creation order), as well as a flag indicating whether more Surveys are available:

{
  "surveys": [
    {
      "id": "518c163649f63b13aa000001",
      "active": true,
      "name": "Favorites",
      "title": "Favorites survey",
      "description": "Stuff you like",
      "created_at": 1456356971
    }
  ],
  "ends_with": "518c163649f63b13aa000001",
  "total": 100,
  "has_more": false
}

Each Survey may include the following attributes:

  • id The id of the given Survey
  • active Whether the Survey is active and being sent to customer devices
  • name The internal name for the Survey
  • title The customer-facing name for the Survey
  • description An internal (non-customer facing) description of the Survey
  • created_at The UTC timestamp when the Survey was created on the server

Retrieving A Specific Survey

A specific Survey may be retrieved via GET request to https://api.apptentive.com/surveys/:id, replacing :id with the requested Survey’s id. For example:

curl -i -H "Authorization: OAuth ea0b3686bfadf43245944e841e611c8a7d25cdd21098a9f83c3030553a593a71" https://api.apptentive.com/surveys/50f4984849f63b57ef000123

The response will include the fields (detailed below) for the specific Device:

{
  "id": "50f4984849f63b57ef000123",
  "active": true,
  "name": "App Survey",
  "title": "Customer Satisfaction Survey",
  "description": "March 2015 survey of gold customers for product feedback.",
  "required": false,
  "multiple_responses": true,
  "show_success_message": false,
  "success_message": "Thank you for completing our survey!",
  "response_count": 3543,
  "view_period": 86400.0,
  "resp_max": 10000,
  "view_count": 125,
  "created_at": 1456356971,
  "questions": [
    { "id": "50f4984849f63b57ef000124",
      "type": "multichoice",
      "instructions": "select one",
      "value": "How is this app?",
      "required": false,
      "answer_choices": [
        { "id": "50f4984849f63b57ef000125", "value": "Great!" },
        { "id": "50f4984849f63b57ef000126", "value": "Good" },
        { "id": "50f4984849f63b57ef000127", "value": "Poor" }
      ]
    }
  ]
}

The Survey object will contain the following attributes:

  • id The id of the given Survey
  • active Whether the Survey is active and being sent to customer devices
  • name The internal name for the Survey
  • title The customer-facing name for the Survey
  • description An internal (non-customer facing) description of the Survey
  • required Whether the Survey is required to be completed
  • multiple_responses Whether the Survey allows the same person to complete it multiple times
  • show_success_message Whether a success message is shown when the Survey is completed
  • success_message Message displayed upon survey completion if showsuccessmessage is true
  • response_count The number of responses recorded for the Survey
  • view_period Minimum number of seconds between showing Survey
  • resp_max Maximum number of responses allowed for the Survey
  • view_count The number of times the Survey has been seen by consumers
  • created_at The UTC timestamp when the Survey was created on the server
  • questions An array of questions for the survey, where each question has the following fields:
    • id The id of the Question
    • type The type of Answer allowed (multichoice, multiselect or singleline)
    • instructions Text to provide context or instructions for the question.
    • value The Question text
    • required Whether the Question is required
    • answer_choices
      • id The id of the given Answer Choice
      • value The text of the given Answer Choice

Retrieving Responses For A Specific Survey

Supports Paging

Responses for a specific survey may be retrieved via GET request to https://api.apptentive.com/surveys/:survey_id/responses, replacing :survey_id with the requested Survey’s id. For example:

curl -i -H "Authorization: OAuth ea0b3686bfadf43245944e841e611c8a7d25cdd21098a9f83c3030553a593a71" https://api.apptentive.com/surveys/50f4984849f63b57ef000123/responses

The response will contain an array of Responses (in ascending creation order), as well as a flag indicating whether more Responses are available. If you wish to request additional information about the person and/or device from the survey response, provide include[]=device or include[]=personas query string parameters.

{
  "responses": [
    {
      "id": "518c163649f63b13aa000002",
      "survey_id": "518c163649f63b13aa000003",
      "device": {
        "id": "518c163649f63b13aa000004",
        "carrier": "AT&T",
        "custom_data": {
          "internal_id": "163649f63b"
        },
        "manufacturer": "LGE",
        "model": "VS986",
        "os_api_level": "23",
        "os_name": "Android",
        "os_version": "6.0"
      },
      "person": {
        "id": "518c163649f63b13aa000005",
        "custom_data": {
          "internal_id": "263649f3333b"
        },
        "email": "joe@example.com",
        "facebook_id": 1231212,
        "name": "Joe Random"
      },
      "created_at": 1456356971,
      "answers": [
        {
          "question": {
            "id": 1,
            "value": "Why?",
            "type": "singleline"
          },
          "answer": {
            "value": "Long form answer"
          }
        },
        {
          "question": {
            "id": 2,
            "value": "A or B?",
            "type": "multiselect"
          },
          "answer": {
            "value": "B"
          }
        }
      ]
    }
  ],
  "ends_with": "518c163649f63b13aa000002",
  "total": 100,
  "has_more": false
}

Each Response may include the following attributes:

  • id The id of the given Response
  • survey_id The id of the Survey this Response belongs to
  • device The Device that replied to the Survey
    • id The id of the Device
    • Optional fields – add an include[]=device parameter to access additional information
    • carrier The carrier for the Device
    • custom_data Custom key/value pairs defined by the app developer
    • manufacturer The Device manufacturer
    • model The Device model
    • os_api_level The API level for the current OS
    • os_name The OS name (iOS or Android)
    • os_version The version of the OS
  • person The Person that replied to the Survey
    • id The id of the Person
    • Optional fields – add an include[]=person parameter to access additional information
    • custom_data Custom key/value pairs defined by the app developer
    • email The Person email
    • facebook_id The Person facebook_id
    • name The Person name
  • created_at The UTC timestamp when the Response was created on the server
  • answers The array of answers provided by the consumer with fields listed below:
    • question
      • id The id of the Question
      • value The Question prompt text
      • type The Question type (singleline, multichoice or multiselect)
    • answer
      • value The consumer-supplied answer
        • Note: The format of this field depends on the Question type.
          • Multichoice & singleline Answers are strings (e.g. "A" or "I have a lot of feedback I'd like to share [...]")
          • Multiselect Answers are an array of strings (e.g. ["Engineer", "Product Manager"])

Enjoyment Dialog (Love Ratio) Metrics

The Enjoyment Dialog Metrics endpoint returns daily interaction metrics for the Enjoyment Dialog (“Do you love…?”). All dates are evaluated as UTC. The API takes a required start_date and an optional end_date and returns metrics starting with the given start_date. The dates returned will be continuous; dates without data will appear with 0’s for each of the metrics. The data returned may stop before the provided end_date if the maximum page size is reached. In these cases, the has_more parameter will be true and the ends_with parameter will be the date after the last day of data provided; this value should then be used as the start_date in a subsequent call to page through responses. All dates will be in YYYY-MM-DD format.

The love_ratio is computed as the number of loves divided by the number of launches. If the love_ratio cannot be computed (e.g. because there are no launches), null will be returned instead. The computed love_ratio precision will be 2 decimals.

In addition to the daily metrics, the aggregate metrics (over the data returned) will be returned for convenience.

  • Endpoint: https://api.apptentive.com/apps/<app_id>/metrics/enjoyment_dialog
  • Method: GET

Parameters:

  • start_date: The first date to return data for, inclusive. Required. YYYY-MM-DD Format
  • end_date: The last date to return data for, inclusive. YYYY-MM-DD Format

Example Response:

{
   "love_data": [
    {"date": "2016-01-01",
     "displays": 1000,
     "loves": 500,
     "not_loves": 250,
     "cancels": 250,
     "dismisses": 0,
     "love_ratio": 0.5
    }, ...
   ],
   "total_displays": 1500,
   "total_loves": 750,
   "total_not_loves": 500,
   "total_cancels": 250,
   "total_dismisses": 0,
   "overall_love_ratio": 0.5,
   "has_more": true,
   "ends_with": "2016-01-02"
}

Reviews

The reviews endpoint returns app store reviews for the date range provided. All dates are evaluated as UTC. The API takes a required start_date and an optional end_date and returns reviews starting with the given start_date. The maximum number of days per query is 30; if your start_date is prior to 30 days ago you must provide a valid end_date. The data returned may stop before the provided end_date if the page size is reached. In these cases, the has_more parameter will be true and the page parameter is used to move to the next page. The page size is fixed and currently is 500. All dates will be in YYYY-MM-DD format.

Some of the fields documented are not always present. The Google Play Store often provides more data regarding the reviewer while the Apple App Store provides very little.

Review availability for new reviews for approximately the last 4 days varies, i.e. a review given today may not be present via this API for up to 4 days. Most reviews normally come in sooner.

  • Endpoint: https://api.apptentive.com/apps/<app_id>/reviews
  • Method: GET

Parameters:

  • start_date: The first date to return data for, inclusive. Required. YYYY-MM-DD Format
  • end_date: The last date to return data for, inclusive. YYYY-MM-DD Format
  • regions:  A comma separated list of region codes (language codes for Android or country codes for iOS).  Defaults to L:EN or US if international data is not enabled for your app, otherwise defaults to all regions.  Contact support@apptentive.com for a full list of region options.
  • skip: Number of reviews to skip in the result set.

Example Response:

{
   "page":0,
   "total":1555,
   "has_more":true,
   "reviews": [
     {"id": "9181abb4c300a987",
      "date": "2016-01-01",
      "title": "What a great app!",
      "content": "I love being able to..."
      "rating": 5,
      "tags": ["positive"],
      "store_app_id": "321475678",
      "store_user_id": "12345", // deprecated
      "store_user_name": "George Washington",
      "app_version": "3.4.1",
      "language": "en", // deprecated
      "region": "United States"
     }, ...
   ]
}

App Ratings

The ratings endpoint returns the average app store rating for the current version and for all versions for the date provided. All dates are evaluated as UTC. The API takes a required start_date and an optional end_date. The data returned may stop before the provided end_date if the maximum page size is reached. In these cases, the has_more parameter will be true and the ends_with parameter will be the date after the last day of data provided; this value should then be used as the start_date in a subsequent call to page through responses. If no data is available for a given day or specific datum, null will be returned. All dates will be in YYYY-MM-DD format.

  • Endpoint: https://api.apptentive.com/apps/<app_id>/metrics/app_ratings
  • Method: GET

Parameters:

  • start_date: The first date to return data for, inclusive. Required. YYYY-MM-DD Format
  • end_date: The last date to return data for, inclusive. YYYY-MM-DD Format
  • regions:  A comma separated list of region codes (language codes for Android or country codes for iOS).  Defaults to L:EN or US if international data is not enabled for your app, otherwise defaults to all regions.  Contact support@apptentive.com for a full list of region options.

Example Response:


{
  "ratings":
    [
      {
        "date":"2016-01-10",
        "region": "US",
        "all_version":
          {
            "average":4.166073067243306,
            "counts":
              {
                "4":30070,
                "5":141164,
                "1":22338,
                "2":11039,
                "3":15515
              }
          },
          "current_version":
          {
            "average":4.47117296222664,
            "counts":
              {
                "4":71,
                "1":29,
                "2":13,
                "5":370,
                "3":20
              }
          }
      }, ...
    ],
  "has_more": true,
  "ends_with": "2016-02-01"
} 
Updated on February 6, 2019

Was this article helpful?