Back to top

Appaloosa API V2 (Latest)

Changes in V2

This latest version :

  • Change key application to mobile_application_update.

  • Add mobile_application_id on all mobile application update objects.

  • Add mobile_applications as new route.

  • Add the ability to fetch mobile application updates of a specific mobile application.

  • Add unique_downloads key for all mobile application updates objects.

Prerequisites

Regardless your objective, to use this API, you must be an admin of the store you are requesting.

Authentication

We use an authentication by api key for every request. You can find your store’s API key on the profile page of your store. Once logged in your store, click on your name and go to “My profile”. Each request must contain an api_key parameter. Example:

.../mobile_application_updates?api_key=YOUR_API_KEY

Not providing this parameter will return the HTTP status code 401.

Versioning

The path to our resources must start with /api/v2. This is an updated version of the first api. Example:

https://www.appaloosa-store.com/api/v2/213/mobile_application_updates/...

Store id

You can find your store’s id at the bottom of the “Settings” page of your store. Each request must contain your store id directly after the versioning. Example:

https://www.appaloosa-store.com/api/v2/YOUR_STORE_ID/...

Mobile Application Updates

A mobile application update is the main resource of Appaloosa. A user can see Mobile Application Updates if he belongs to at least one group attached to the Mobile Application Update.

Mobile Application Update belongs to a Mobile Application. A Mobile Application can have many Mobile Application Updates.

Mobile Application Update

Get Mobile Application Update
GET/mobile_application_updates/{mobile_application_update_id}

Get a mobile application update’s details.

  • unique_downloads is upated every 20 minutes.

Example URI

GET /mobile_application_updates/1
URI Parameters
HideShow
mobile_application_update_id
integer (required) Example: 1

The mobile application update’s id

Response  200
HideShow
Headers
Content-Type: application/json
Body
{
    mobile_application_update: {
        id: 13,
        mobile_application_id: 133,
        name: "My app",
        icon_url: ""https://appaloosa-production.s3.amazonaws.com/1/104/135/icon?..",
        description: "This the my app",
        version: "60",
        version_release: "V5.60",
        min_os_version: "10",
        binary_file_size: 4138840,
        application_id: "com.appaloosa.app",
        download_url: "https://appaloosa-store.com/1/104/135/swe4p4e5it7/myapp.apk",
        url: "https://play.google.com/apps/details?id=com.myapp.apk",
        application_type": "native",
        status: 1,
        unique_downloads: 45662,
        created_at: "2015-10-12T10:52:42.348+02:00",
        updated_at: "2015-11-10T10:00:38.035+01:00",
        notification_type": "classic",
        screenshots_urls": [],
        groups: [
          "everybody"
        ],
        groups_ids: [
          33
        ],
        categories: [],
        platforms: [
          "Android"
        ],
        apps_set_id: 22,
        banner_url: "https://www.appaloosa-store.com/assets/banner.png",
        catchphrase: "Best App!"
    }
 }

Patch Mobile Application Update
PATCH/mobile_application_updates/{mobile_application_update_id}

Update mobile application update’s details. You can edit:

  • mobile_application_update (object)
    • name: MyApp (string, optional) - The name of your app
    • group_ids: [8940] (array, optional) - Mobile application update’s groups ids
    • catchphrase: The best app (string, optional) - Mobile application update’s catch phrase
    • description: Never miss a deal (string, optional) - Mobile application update’s description
    • icon: icon.png (attachement, optional) - Mobile application update’s icon
    • banner: file (attachement, optional) - Mobile application update’s banner
    • screenshot1: file1.png (attachement, optional) - Mobile application update’s screenshot 1
    • screenshot2: file2.png (attachement, optional) - Mobile application update’s screenshot 2
    • screenshot3: file3.png (attachement, optional) - Mobile application update’s screenshot 3
    • screenshot4: file4.png (attachement, optional) - Mobile application update’s screenshot 4
    • screenshot5: file5.png (attachement, optional) - Mobile application update’s screenshot 5
    • push_force_install: false (boolean, optional) - Force install

Example URI

PATCH /mobile_application_updates/1
URI Parameters
HideShow
mobile_application_update_id
integer (required) Example: 1

The mobile application update’s id

Request
HideShow
Headers
Content-Type: multipart/form-data; boundary=----BOUNDARY
Body
----WebKitFormBoundary7MA4YWxkTrZu0gW
Content-Disposition: form-data; name="mobile_application_update[name]"

MyApp
----WebKitFormBoundary7MA4YWxkTrZu0gW
Content-Disposition: form-data; name="mobile_application_update[catchphrase]"

This is the best business app!
----WebKitFormBoundary7MA4YWxkTrZu0gW
Content-Disposition: form-data; name="mobile_application_update[group_ids][]"

8940
----WebKitFormBoundary7MA4YWxkTrZu0gW
Content-Disposition: form-data; name="mobile_application_update[screenshot1]"; filename="MyAppScreensho1.png"
Content-Type: image/png

----WebKitFormBoundary7MA4YWxkTrZu0gW
Content-Disposition: form-data; name="mobile_application_update[icon]"; filename="MyAppIcon.png"
Content-Type: image/png

----WebKitFormBoundary7MA4YWxkTrZu0gW
Response  200
HideShow
Headers
Content-Type: application/json
Body
{
  "mobile_application_update": {
    "id": 111605,
    "mobile_application_id": 133,
    "name": "MyApp",
    "icon_url": "https://www.appaloosa-store.com/5282/28952/111605/icon.png",
    "description": "My business app",
    "version": "1.0",
    "version_release": "1.0",
    "min_os_version": "7.1",
    "binary_file_size": 194680,
    "application_id": "com.myapp.st",
    "download_url": "https://www.appaloosa-store.com/5282/28952/111605/ga3i1/MyApp.ipa",
    "url": "https://play.google.com/apps/details?id=com.myapp.apk",
    "application_type": "native",
    "status": 1,
    "unique_downloads": 64562,
    "created_at": "2015-07-21T10:36:22.441+02:00",
    "updated_at": "2015-08-28T16:52:01.040+02:00",
    "screenshots_urls": [
      "https://www.appaloosa-store.com/5282/28952/111605/screenshots/1"
    ],
    "groups": [
      "myteam"
    ],
    "groups_ids": [
      8940
    ],
    "categories": [],
    "platforms": [
      "iPad",
      "iPhone"
    ],
    "apps_set_id": null,
    "banner_url": "https://www.appaloosa-store.com/52/28952/111605/5488/banner/banner.png",
    "catchphrase": "This is the best business app!"
  }
}

Upload Mobile Application Update

Upload Mobile Application Update
POST/mobile_application_updates/upload

Upload a Mobile Application Update from a public link. All urls must be publicly available.

  • mobile_application_update (object)
    • binary_path: https://www.box.com/d1f/my_app.ipa (string, required) - The link where your Application is hosted.
    • group_ids: [8940] (array, optional) - Mobile application update’s groups ids
    • catchphrase: The best app (string, optional) - Mobile application update’s catch phrase
    • description: Never miss a deal (string, optional) - Mobile application update’s description
    • banner: https://www.box.com/d1f/banner.png (string, optional) - Mobile application update’s banner url
    • screenshot1: https://www.box.com/d1f/file1.png (string, optional) - Mobile application update’s screenshot 1 url
    • screenshot2: https://www.box.com/d1f/file2.png (string, optional) - Mobile application update’s screenshot 2 url
    • screenshot3: https://www.box.com/d1f/file3.png (string, optional) - Mobile application update’s screenshot 3 url
    • screenshot4: https://www.box.com/d1f/file4.png (string, optional) - Mobile application update’s screenshot 4 url
    • screenshot5: https://www.box.com/d1f/file5.png (string, optional) - Mobile application update’s screenshot 5 url

Example URI

POST /mobile_application_updates/upload
Request
HideShow
Headers
Content-Type: application/json
Body
{
  "mobile_application_update": {
    "binary_path": "http://www.application.io/application.ipa",
    "screenshot1": "http://www.application.io/screenshot1.png",
    "screenshot2": "http://www.application.io/screenshot2.png",
    "screenshot3": "http://www.application.io/screenshot3.png",
    "screenshot4": "http://www.application.io/screenshot4.png",
    "screenshot5": "http://www.application.io/screenshot5.png",
    "banner": "http://www.application.io/banner.png",
    "description": "Never miss a deal",
    "catchphrase": "The best app"
  }
}
Response  201
HideShow
Headers
Content-Type: application/json
Body
{
  "status": "Binary processing",
  "link": "https://www.appaloosa-store.com/api/v2/52/mobile_application_updates/123?api_key=yourapikey"
}

Get Mobile Application Update

Get Mobile Application Updates
GET/mobile_application_updates{?user_email,group_name,platforms,page,per}

The mobile application updates visible for the user. If user_email is left blank, the mobile application updates returned will be the ones visible by the store’s admins.

  • unique_downloads is upated every 20 minutes.

  • Mobile Application Updates are sorted by creation date in descending order.

Example URI

GET /mobile_application_updates?user_email=martin.dupont@example.fr&group_name=Groupe1&platforms=Android&page=3&per=2
URI Parameters
HideShow
user_email
string (optional) Example: martin.dupont@example.fr

User’s email

group_name
string (optional) Default: empty Example: Groupe1

User’s group name

platforms
string (optional) Default: all Example: Android

Filter by platform

Choices: all Android iPhone iPad WindowsPhone

page
number (optional) Default: 1 Example: 3

Current results page

per
number (optional) Default: 10 Example: 2

Number of results per page, the maximum is 20.

Response  200
HideShow
Headers
Content-Type: application/json
Link: <https://www.appaloosa-store.com/api/v2/store_id/mobile_application_updates?api_key=api_key&user_email=martin.dupont%40example.fr&group_name=Groupe1&page=1&platforms%5B%5D=Android>; rel="first", <https://www.appaloosa-store.com/api/v2/store_id/mobile_application_updates?api_key=api_key&user_email=martin.dupont%40example.fr&group_name=Groupe1&page=5&platforms%5B%5D=Android>; rel="last", <https://www.appaloosa-store.com/api/v2/store_id/mobile_application_updates?api_key=api_key&user_email=martin.dupont%40example.fr&group_name=Groupe1&page=4&platforms%5B%5D=Android>; rel="next", <https://www.appaloosa-store.com/api/v2/store_id/mobile_application_updates?api_key=api_key&user_email=martin.dupont%40example.fr&group_name=Groupe1&page=2&platforms%5B%5D=Android>; rel="prev"
Total: 10
Per-Page: 2
Body
{
  mobile_application_updates:
    [
      {
        id: 1,
        mobile_application_id: 134,
        name: "Mon Application",
        icon_url: "http://s3.amazonaws.com/icon.png",
        description: "La description de ma superbe application",
        version: '12',
        version_release: '12',
        min_os_version: '8',
        binary_file_size: 4567456,
        application_id: "com.app.fr",
        download_url: 'http://s3.amazonaws.com/my_app.apk',
        url: 'https://play.google.com/apps/details?id=com.myapp.apk',
        application_type: 'native',
        status: 1,
        unique_downloads: 33445,
        created_at: "2014-01-31T18:49:18.258+01:00",
        updated_at: "2015-05-26T14:33:06.214+02:00",
        notification_type: "classic",
        screenshots_urls: ["http://s3.amazonaws.com/screenshot_1.png"],
        groups:["Appaloosa Team"],
        groups_ids: [547],
        categories: ["Productivité", "Business"],
        platforms: ["Android"],
        apps_set_id: 22,
        banner_url: "http://s3.amazonaws.com/banner_1.png",
        catchphrase: "La meilleure app"
      },
      {
        id: 4,
        mobile_application_id: 154,
        name: "Ma deuxieme app",
        icon_url: "http://s3.amazonaws.com/icon.png",
        description: "La description de ma superbe deuxieme application",
        version: '10',
        version_release: '9',
        min_os_version: '8',
        binary_file_size: 456456,
        application_id: "com.app.fr",
        download_url: 'http://s3.amazonaws.com/my_app2.apk',
        url: 'https://play.google.com/apps/details?id=com.myapp.apk',
        application_type: 'native',
        status: 1,
        unique_downloads: 33455,
        created_at: "2014-03-31T18:49:18.258+01:00",
        updated_at: "2015-06-26T14:33:06.214+02:00",
        notification_type: "classic",
        screenshots_urls: ["http://s3.amazonaws.com/screenshot_1.png"],
        groups:["Appaloosa Team"],
        groups_ids: [547],
        categories: ["Productivité", "Business"],
        platforms: ["Android"],
        apps_set_id: 22,
        banner_url: "http://s3.amazonaws.com/banner_1.png",
        catchphrase: "La deuxieme app"
      }
    ]
}

Comments

Comments are given by users through the native apps.

Get Comments
GET/mobile_application_updates/{mobile_application_update_id}/comments{?page,per}

Get the comments of a mobile application update.

Example URI

GET /mobile_application_updates/4988/comments?page=1&per=2
URI Parameters
HideShow
mobile_application_update_id
integer (required) Example: 4988

The mobile application update’s id

page
integer (optional) Default: 1 Example: 1

The number of the page to return

per
integer (optional) Default: 20 Example: 2

The number of comments to return per page

Response  200
HideShow
Headers
Content-Type: application/json
Link: <https://www.appaloosa-store.com/api/v2/store_id/mobile_application_updates/4988/comments?api_key=api_key&page=3>; rel="last", <https://www.appaloosa-store.com/api/v2/store_id/mobile_application_updates/comments?api_key=api_key&page=2>; rel="next"
Body
{
    comments: [
        {
            "id": "12",
            "comment": "Awesome App",
            "rating": 2.0,
            "user_name":"A. PPALOOSA",
            "user_id": "123",
            "created_at": "2015-05-18T09:31:59.502+02:00" ,
            "updated_at": "2015-05-18T09:31:59.502+02:00"
        },
        {
            "id": "15",
            "comment": "Best App Ever",
            "rating": 4.0,
            "user_name":"J. SMITH",
            "user_id": "126",
            "created_at": "2015-05-19T19:12:14.450+02:00",
            "updated_at": "2015-05-20T18:43:56.542+02:00"
        }
   ]
}

Mobile Applications

A Mobile Application has many Mobile Application Updates representing its different versions.

Get Mobile Application Updates

Get Mobile Application Updates
GET/mobile_applications/{mobile_application_id}/mobile_application_updates{?page,per}

Get Mobile Application Updates from a specified mobile_application_id.

  • unique_downloads is upated every 20 minutes.

  • Mobile Application Updates are sorted by creation date in descending order.

Example URI

GET /mobile_applications/124/mobile_application_updates?page=3&per=2
URI Parameters
HideShow
mobile_application_id
number (required) Example: 124

Id of the Mobile Application that you can find in any Mobile Application Update.

page
number (optional) Default: 1 Example: 3

Current results page

per
number (optional) Default: 10 Example: 2

Number of results per page, the maximum is 20.

Response  200
HideShow
Headers
Content-Type: application/json
Link: <https://www.appaloosa-store.com/api/v2/store_id/mobile_applications/45/mobile_application_updates?api_key=api_key&page=1>; rel="first", <https://www.appaloosa-store.com/api/v2/store_id/mobile_applications/45/mobile_application_updates?api_key=api_key&page=5>; rel="last", <https://www.appaloosa-store.com/api/v2/store_id/mobile_applications/45/mobile_application_updates?api_key=api_key&page=4>; rel="next", <https://www.appaloosa-store.com/api/v2/store_id/mobile_applications/45/mobile_application_updates?api_key=api_key&page=2>; rel="prev"
Total: 10
Per-Page: 2
Body
{
  mobile_application_updates:
    [
      {
        id: 5,
        mobile_application_id: 134,
        name: "Mon Application",
        icon_url: "http://s3.amazonaws.com/icon.png",
        description: "La description de ma superbe application",
        version: '12',
        version_release: '12',
        min_os_version: '8',
        binary_file_size: 4567456,
        application_id: "com.app.fr",
        download_url: 'http://s3.amazonaws.com/my_app.apk',
        url: "https://play.google.com/apps/details?id=com.myapp.apk",
        application_type: 'native',
        status: 1,
        unique_downloads: 34456,
        created_at: "2014-04-31T18:49:18.258+01:00",
        updated_at: "2015-05-26T14:33:06.214+02:00",
        notification_type: "classic",
        screenshots_urls: ["http://s3.amazonaws.com/screenshot_1.png"],
        groups:["Appaloosa Team"],
        groups_ids: [547],
        categories: ["Productivité", "Business"],
        platforms: ["Android"],
        apps_set_id: 22,
        banner_url: "http://s3.amazonaws.com/banner_1.png",
        catchphrase: "La meilleure app"
      },
      {
        id: 4,
        mobile_application_id: 134,
        name: "Ma deuxieme app",
        icon_url: "http://s3.amazonaws.com/icon.png",
        description: "La description de ma superbe deuxieme application",
        version: '10',
        version_release: '9',
        min_os_version: '8',
        binary_file_size: 456456,
        application_id: "com.app.fr",
        download_url: 'http://s3.amazonaws.com/my_app2.apk',
        url: "https://play.google.com/apps/details?id=com.myapp.apk",
        application_type: 'native',
        status: 1,
        unique_downloads: 33458,
        created_at: "2014-03-31T18:49:18.258+01:00",
        updated_at: "2015-06-26T14:33:06.214+02:00",
        notification_type: "classic",
        screenshots_urls: ["http://s3.amazonaws.com/screenshot_1.png"],
        groups:["Appaloosa Team"],
        groups_ids: [547],
        categories: ["Productivité", "Business"],
        platforms: ["Android"],
        apps_set_id: 22,
        banner_url: "http://s3.amazonaws.com/banner_1.png",
        catchphrase: "La meilleure app"
      }
    ]
}

AppsSet

An AppsSet is a group of two or three mobile application updates. An AppsSet cannot hold mobile application updates of the same platform.

Get AppsSet

Retrieve an AppsSet’s details.

Get AppsSet
GET/apps_sets/{apps_set_id}

Example URI

GET /apps_sets/324
URI Parameters
HideShow
apps_set_id
integer (required) Example: 324

The AppsSet’s id

Response  200
HideShow
Headers
Content-Type: application/json
Body
{
      apps_set: {
          "id": 324,
          "name": "this apps set rocks",
          "android_application_id": 22,
          "ios_application_id": 1389,
          "windows_phone_application_id": null
      }
}

Users

User

Create User
POST/users/

Create a new user. API will return the created user when success. Parameters need to be in the request body. You must give the first name, last name and email.

  • user (object)
    • email: olivier@dupont.com (string, required) - User’s email, must be valid to receive welcome email
    • last_name: Dupont (string, required) - User’s last name
    • first_name: Olivier (string, required) - User’s first name
    • password: B96ZbDCMnPqywPqrJ;fU (string, optional) - User’s password
      • Default: Randomly generated
    • notify: false (boolean, optional) - Send a welcome email to the user containing his password
      • Default: true
    • group_ids: [10,23] (array, optional) - User’s groups ids
    • is_admin: true (boolean, optional) - Whether the user is a store admin
      • Default: false
    • admin_for_group_ids: [11,53] (array, optional) - User’s groups ids for which he will be a group admin

Example URI

POST /users/
Request
HideShow
Headers
Content-Type: application/json
Body
{
  "user": {
    "email": "olivier@dupont.com",
    "first_name": "Olivier",
    "last_name": "Dupont",
    "group_ids": [
      1,
      2
    ]
  }
}
Response  201
HideShow
Headers
Content-Type: application/json
Body
{
  "user": {
    "id": 1,
    "first_name": "Olivier",
    "last_name": "Dupont",
    "email": "olivier@dupont.com",
    "currrent_sign_in_at": "2015-06-17T14:26:58.124+02:00",
    "is_admin": false,
    "group_ids": [
      1,
      2
    ],
    "authentication_methods": []
  }
}

Update User
PATCH/users/{user_id}

Patch an existing user. API will return the updated user. Parameters need to be in the request body. You must fill at least one field.

  • user (object)
    • email: olivier@dupont.com (string, optional) - User’s email, must be valid to receive welcome email
    • last_name: Dupont (string, optional) - User’s last name
    • first_name: Olivier (string, optional) - User’s first name
    • password: B96ZbDCMnPqywPqrJ;fU (string, optional) - User’s password
    • group_ids: [10,23] (array, optional) - User’s groups ids
    • is_admin: true (boolean, optional) - Whether the user is a store admin
      • Default: false
    • admin_for_group_ids: [11,53] (array, optional) - User’s groups ids for which he will be a group admin.

Example URI

PATCH /users/1
URI Parameters
HideShow
user_id
integer (required) Example: 1

The user’s id

Request
HideShow
Headers
Content-Type: application/json
Body
{
  "user": {
    "email": "olivier@dup.com",
    "first_name": "Olive",
    "last_name": "Dup",
    "group_ids": [
      1,
      2,
      33
    ]
  }
}
Response  200
HideShow
Headers
Content-Type: application/json
Body
{
  "user": {
    "id": 1,
    "first_name": "Olive",
    "last_name": "Dup",
    "email": "olivier@dup.com",
    "currrent_sign_in_at": "2015-06-17T14:26:58.124+02:00",
    "is_admin": false,
    "group_ids": [
      1,
      2,
      33
    ],
    "authentication_methods": []
  }
}

Get User
GET/users/{user_id}

Get a user’s details.

Example URI

GET /users/1
URI Parameters
HideShow
user_id
integer (required) Example: 1

The user’s id

Response  200
HideShow
Headers
Content-Type: application/json
Body
{
  "user": {
    "id": 1,
    "first_name": "Olivier",
    "last_name": "Dupont",
    "email": "olivier@dupont.com",
    "currrent_sign_in_at": "2015-06-17T14:26:58.124+02:00",
    "is_admin": false,
    "group_ids": [
      1,
      2
    ],
    "authentication_methods": []
  }
}

Delete User
DELETE/users/{user_id}

Delete a specific user. It can’t be you or a super admin.

Example URI

DELETE /users/1
URI Parameters
HideShow
user_id
integer (required) Example: 1

The user’s id

Response  204
HideShow
Headers
Content-Type: application/json

Get user's devices

Get User's devices
GET/users/{user_id}/devices

Get user’s devices.

Example URI

GET /users/1/devices
URI Parameters
HideShow
user_id
integer (required) Example: 1

The user’s id

Response  200
HideShow
Headers
Content-Type: application/json
Body
{
  "devices": [
    {
      "id": 1,
      "model": "GT-I9195",
      "udid": "040000000",
      "adid": null,
      "imei": "00003000000",
      "created_at": "2015-06-03T18:15:53.314+02:00",
      "updated_at": "2015-06-03T18:15:53.314+02:00",
      "user_id": 19,
      "blacklisted": false
    }
  ]
}

Search User

Search User
GET/users/search{?search,per,page}

Search a user’s details with his first name, last name or email.

Example URI

GET /users/search?search=dupont&per=2&page=1
URI Parameters
HideShow
search
string (optional) Example: dupont

Complete or partial user name or email

page
integer (optional) Default: 1 Example: 1

The number of the page to return

per
integer (optional) Default: 20 Example: 2

The number of comments to return per page

Response  200
HideShow
Headers
Content-Type: application/json
Link: https://www.appaloosa-store.com/api/v2/store_id/search.json?api_key=api_key&page=4>; rel="last", <https://www.appaloosa-store.com/api/v2/store_id/search.json?api_key=api_key&page=2>; rel="next"
Total: 6
Per-Page: 2
Body
{
    "users": [
      {
        "id": 1,
        "first_name": "Olivier",
        "last_name": "Dupont",
        "email": "olivier@dupont.com",
        "is_admin": false,
        "group_count": 6
      }
  }

Get Users

Get Users
GET/users{?per,page}

Get the detailed users’ list of the specified store.

Example URI

GET /users?per=2&page=3
URI Parameters
HideShow
page
integer (optional) Default: 1 Example: 3

The number of the page to return

per
integer (optional) Default: 20 Example: 2

The number of users to return per page

Response  200
HideShow
Headers
Content-Type: application/json
Link: https://www.appaloosa-store.com/api/v2/store_id/users.json?api_key=api_key&page=4>; rel="last", <https://www.appaloosa-store.com/api/v2/store_id/users.json?api_key=api_key&page=2>; rel="next"
Total: 6
Per-Page: 2
Body
{
  "page": 3,
  "users": [
    {
      "id": 1194,
      "first_name": "Marcel",
      "last_name": "Dupont",
      "email": "marcel@dupont.com",
      "is_admin": false,
      "group_count": 1
    },
    {
      "id": 1193,
      "first_name": "Sophie",
      "last_name": "Tucker",
      "email": "sophie@tucker.net",
      "is_admin": false,
      "group_count": 2
    }
  ]
}

Groups

Group

Get group
GET/groups/{group_id}

Get info on a specific group. To get the group’s id you can list groups. To get users of a specific group you have to do an other request.

Example URI

GET /groups/10
URI Parameters
HideShow
group_id
string (required) Example: 10

Group id of your Store

Response  200
HideShow
Headers
Content-Type: application/json
Body
{
  "group": {
    "id": 89,
    "name": "Beta group",
    "is_system": false,
    "number_of_users": 8,
    "number_of_admins": 2,
    "number_of_group_admins": 1
  }
}

Create group
POST/groups/

Create a group.

  • group (object)
    • name: west group (string, required) - Group name
    • users_can_install_previous_versions: true (boolean, optional) - Indicates if users will be able to download previous app versions

Example URI

POST /groups/
Request
HideShow
Headers
Content-Type: application/json
Body
{
  "group": {
    "name": "east group",
    "users_can_install_previous_versions": "true"
  }
}
Response  201
HideShow
Headers
Content-Type: application/json
Body
{
  "group": {
    "id": 8949,
    "name": "east group",
    "color": "9fcedf",
    "store_id": 582,
    "created_at": "2015-07-30T11:11:24.936+02:00",
    "updated_at": "2015-07-30T11:11:24.936+02:00",
    "users_can_install_previous_versions": true
  }
}

Update group
PATCH/groups/{group_id}

Update a specific group.

  • group (object)
    • name: west group (string, required) - Group name
    • users_can_install_previous_versions: true (boolean, optional) - Tell if users will be able to download previous app versions

Example URI

PATCH /groups/10
URI Parameters
HideShow
group_id
string (required) Example: 10

Group id of your Store

Request
HideShow
Headers
Content-Type: application/json
Body
{
  "group": {
    "name": "west group",
    "users_can_install_previous_versions": "true"
  }
}
Response  200
HideShow
Headers
Content-Type: application/json
Body
{
  "group": {
    "id": 8948,
    "name": "west group",
    "color": "9fcedf",
    "store_id": 582,
    "created_at": "2015-07-30T11:11:24.936+02:00",
    "updated_at": "2015-07-30T11:11:24.936+02:00",
    "users_can_install_previous_versions": true
  }
}

Delete group
DELETE/groups/{group_id}

Delete a specific group.

Example URI

DELETE /groups/10
URI Parameters
HideShow
group_id
string (required) Example: 10

Group id of your Store

Response  204
HideShow
Headers
Content-Type: application/json

Get Groups

Get groups
GET/groups

Get a paginated list of groups.

Example URI

GET /groups
Response  200
HideShow
Headers
Content-Type: application/json
Link: https://www.appaloosa-store.com/api/v2/store_id/groups.json?api_key=api_key&page=2>; rel="last", <https://www.appaloosa-store.com/api/v2/store_id/groups.json?api_key=api_key&page=2>; rel="next"
Total: 32
Per-Page: 20
Body
{
  "groups": [
    {
      "id": 8948,
      "name": "west group",
      "color": "9fcedf",
      "store_id": 582,
      "created_at": "2015-07-30T11:11:24.936+02:00",
      "updated_at": "2015-07-30T11:11:24.936+02:00",
      "users_can_install_previous_versions": true
    },
    {
      "id": 8949,
      "name": "east group",
      "color": "9fdedf",
      "store_id": 582,
      "created_at": "2015-07-30T11:12:24.936+02:00",
      "updated_at": "2015-07-30T11:12:24.936+02:00",
      "users_can_install_previous_versions": false
    }
  ]
}

Get Group's users

Get group's users
GET/groups/{group_id}/users{?page,per}

Get the users’ list of a specific group.

Example URI

GET /groups/10/users?page=3&per=2
URI Parameters
HideShow
group_id
string (required) Example: 10

Group id of your Store

page
integer (optional) Default: 1 Example: 3

Current results page

per
integer (optional) Default: 30 Example: 2

Number of results per page

Response  200
HideShow
Headers
Content-Type: application/json
Link: https://www.appaloosa-store.com/api/v2/store_id/groups/group_id/users.json?api_key=api_key&page=4>; rel="last", <https://www.appaloosa-store.com/api/v2/store_id/users.json?api_key=api_key&page=2>; rel="next"
Total: 3
Per-Page: 20
Body
{
  "users": [
    {
      "id": 11,
      "first_name": "Olivier",
      "last_name": "Durand",
      "roles": {
        "is_store_admin": true,
        "is_group_admin": false
      }
    },
    {
      "id": 12,
      "first_name": "Marcel",
      "last_name": "Kittel",
      "roles": {
        "is_store_admin": false,
        "is_group_admin": true
      }
    },
    {
      "id": 13,
      "first_name": "Pauline",
      "last_name": "Ferrand",
      "roles": {
        "is_store_admin": true,
        "is_group_admin": false
      }
    }
  ]
}

Create group from other groups

Create group from groups
POST/groups/create_from_groups

Create a group by including or excluding users of other groups. The process will be run in background.

To get an update of the process you can access #show with the group_id returned in the response.

  • group (object)
    • name: my group name (string, required) - Group’s name
    • group_ids_to_add: [10,12] (array, required) - Groups’ Ids to add to the new group
    • group_ids_to_remove: [13,14] (array, optional) - Groups’ Ids to remove from the new group

Example URI

POST /groups/create_from_groups
Request
HideShow
Headers
Content-Type: application/json
Body
{
  "group": {
    "name": "my iles",
    "group_ids_to_add": [
      8939
    ],
    "group_ids_to_remove": [
      8942,
      8939
    ]
  }
}
Response  201
HideShow
Headers
Content-Type: application/json
Body
{
    "group": {
      "id": 8944,
      "name": "my iles",
      "color": "9fcedf",
      "store_id": 5282,
      "created_at": "2015-07-30T11:11:24.936+02:00",
      "updated_at": "2015-07-30T11:11:24.936+02:00"
    },
}

Manage users in group

Add users
POST/groups/{group_id}/users

Add users to a specific group.

  • group (object)
    • user_ids: [10,12] (array, required) - Users ids you need to add

Example URI

POST /groups/10/users
URI Parameters
HideShow
group_id
string (required) Example: 10

Group id of your Store

Request
HideShow
Headers
Content-Type: application/json
Body
{
  "group": {
    "user_ids": [
      10,
      12
    ]
  }
}
Response  200
HideShow
Headers
Content-Type: application/json
Body
{
  "group": {
    "id": 8944,
    "name": "myf iles",
    "color": "9fcedf",
    "store_id": 5282,
    "created_at": "2015-07-30T11:11:24.936+02:00",
    "updated_at": "2015-07-30T11:11:24.936+02:00",
    "users_can_install_previous_versions": null
  },
  "number_of_users_added": 2
}

Remove users
DELETE/groups/{group_id}/users

Remove users from a specific group.

  • group (object)
    • user_ids: [10,12] (array, required) - Users ids you need to remove

Example URI

DELETE /groups/10/users
URI Parameters
HideShow
group_id
string (required) Example: 10

Group id of your Store

Request
HideShow
Headers
Content-Type: application/json
Body
{
  "group": {
    "user_ids": [
      10,
      12
    ]
  }
}
Response  200
HideShow
Headers
Content-Type: application/json
Body
{
  "group": {
    "id": 8944,
    "name": "myf iles",
    "color": "9fcedf",
    "store_id": 5282,
    "created_at": "2015-07-30T11:11:24.936+02:00",
    "updated_at": "2015-07-30T11:11:24.936+02:00",
    "users_can_install_previous_versions": null
  },
  "number_of_users_removed": 2
}

Devices

A device belongs to a user. A user can have many devices.

Device

Get Device
GET/devices/{device_id}

Get a device’s details.

Example URI

GET /devices/1
URI Parameters
HideShow
device_id
integer (required) Example: 1

The device’s id

Response  200
HideShow
Headers
Content-Type: application/json
Body
{
  "device": {
    "id": 1,
    "model": "GT-I9195",
    "udid": "040000000",
    "adid": null,
    "imei": "00003000000",
    "created_at": "2015-06-03T18:15:53.314+02:00",
    "updated_at": "2015-06-03T18:15:53.314+02:00",
    "user_id": 19,
    "blacklisted": false
  }
}

Delete Device
DELETE/devices/{device_id}

Delete a device.

Example URI

DELETE /devices/1
URI Parameters
HideShow
device_id
integer (required) Example: 1

The device’s id

Response  204
HideShow
Headers
Content-Type: application/json

Authorize device

Authorize Device
PATCH/devices/{device_id}/authorize

Authorize a device.

Example URI

PATCH /devices/1/authorize
URI Parameters
HideShow
device_id
integer (required) Example: 1

The device’s id

Response  200
HideShow
Headers
Content-Type: application/json
Body
{
  "device": {
    "id": 1,
    "model": "GT-I9195",
    "udid": "040000000",
    "adid": null,
    "imei": "00003000000",
    "created_at": "2015-06-03T18:15:53.314+02:00",
    "updated_at": "2015-06-03T18:15:53.314+02:00",
    "user_id": 19,
    "blacklisted": false
  }
}

Blacklist device

Blacklist Device
PATCH/devices/{device_id}/blacklist

Blacklist a device.

Example URI

PATCH /devices/1/blacklist
URI Parameters
HideShow
device_id
integer (required) Example: 1

The device’s id

Response  200
HideShow
Headers
Content-Type: application/json
Body
{
  "device": {
    "id": 1,
    "model": "GT-I9195",
    "udid": "040000000",
    "adid": null,
    "imei": "00003000000",
    "created_at": "2015-06-03T18:15:53.314+02:00",
    "updated_at": "2015-06-03T18:15:53.314+02:00",
    "user_id": 19,
    "blacklisted": true
  }
}

Get Devices

Get Devices
GET/devices

Get devices of your organisation.

Example URI

GET /devices
Response  200
HideShow
Headers
Content-Type: application/json
Link: <https://www.appaloosa-store.com/api/v2/store_id/devices.json?api_key=api_key&page=3>; rel="last", <https://www.appaloosa-store.com/api/v2/store_id/devices?api_key=api_key&page=2>; rel="next"
Total: 10
Per-Page: 2
Body
{
  "devices": [
    {
      "id": 1,
      "model": "GT-I9195",
      "udid": "040000000",
      "adid": null,
      "imei": "00003000000",
      "created_at": "2015-06-03T18:15:53.314+02:00",
      "updated_at": "2015-06-03T18:15:53.314+02:00",
      "user_id": 19,
      "blacklisted": false
    },
    {
      "id": 2,
      "model": "GT-I9195",
      "udid": "040200000",
      "adid": null,
      "imei": "00003020000",
      "created_at": "2015-06-03T18:15:53.314+02:00",
      "updated_at": "2015-06-03T18:15:53.314+02:00",
      "user_id": 12,
      "blacklisted": false
    }
  ]
}

Categories

A category will be linked to your application. Each category is available to the store’s apps.

Get Categories

Get Categories
GET/categories

Get categories of the store. The is_stock field means that the category is generic for all stores. Contact support if you want to disable generic categories.

Example URI

GET /categories
Response  200
HideShow
Headers
Content-Type: application/json
Body
{
  "categories": [
    {
      "id": 1,
      "label": "Commerce",
      "is_stock": true,
      "created_at": "2014-10-21T14:33:39.642+02:00",
      "updated_at": "2014-10-21T14:33:39.642+02:00"
    },
    {
      "id": 2,
      "label": "Catalogues",
      "is_stock": true,
      "created_at": "2014-10-21T14:33:39.845+02:00",
      "updated_at": "2014-10-21T14:33:39.845+02:00"
    }
  ]
}

Category

Create Category
POST/categories/

Create a category for the store.

  • category (object)
    • label: Financial (string, required) - Name of the category

Example URI

POST /categories/
Request
HideShow
Headers
Content-Type: application/json
Body
{
  "category": {
    "label": "Financial"
  }
}
Response  201
HideShow
Headers
Content-Type: application/json
Body
{
  "category": {
    "id": 36,
    "label": "Financial",
    "is_stock": false,
    "created_at": "2015-08-21T14:51:24.285+02:00",
    "updated_at": "2015-08-21T14:51:24.306+02:00"
  }
}

Edit category
PATCH/categories/{category_id}

Edit a category’s label name.

  • category (object)
    • label: Management (string, required) - Name of the category

Example URI

PATCH /categories/36
URI Parameters
HideShow
category_id
integer (required) Example: 36

The category’s id

Request
HideShow
Headers
Content-Type: application/json
Body
{
  "category": {
    "label": "Management"
  }
}
Response  200
HideShow
Headers
Content-Type: application/json
Body
{
  "category": {
    "id": 36,
    "label": "Management",
    "is_stock": false,
    "created_at": "2015-08-21T14:51:24.285+02:00",
    "updated_at": "2015-08-21T14:51:24.306+02:00"
  }
}

Delete category
DELETE/categories/{category_id}

Delete a category.

Example URI

DELETE /categories/36
URI Parameters
HideShow
category_id
integer (required) Example: 36

The category’s id

Response  204
HideShow
Headers
Content-Type: application/json

Generated by aglio on 06 Jun 2016