KickIt Docs

KickIt API Documentation

Introduction

In order for you to check if a mobile application out in the wild has been marked/flagged to be upgraded, you need to integrate your application with out API backend.

This is fairly simple and can be done with just one API call. We recommend you do this when your application is being opened for the first time or is coming back from being on the background.

Endpoints

The base URL is /api/v1/

POST target-checks

This endpoint allows you to check whether you application has been marked for soft or hard upgrading.

Request headers

Header name Description Example
X-API-KEY API Key generated from KickIt prefix.key
X-KICKIT-APP-NAME App name set in KickIt MyApp
X-KICKIT-APP-VERSION App version set in KickIt 1.0.0
X-KICKIT-BUILD-NUMBER App build number set in KickIt 1000
X-KICKIT-PLATFORM App platform (ios/android) selected in KickIt ios
X-KICKIT-PLATFORM-OS-VERSION App os version set in KickIt 10.5

Request body

The request body needs to conform to a json object. The main object must define a data attribute. From there, whatever is added inside of data will be saved and used as extra data sent for multiple purposes including, but not exclusive to debugging.

For example:

{
  "data": {
    "client": "My custome client data point",
    "some_other_custom_field": "custom_value"
  }
}

Request example

POST /api/v1/target-checks HTTP/1.1
Host: kickit.dev
X-API-KEY: 2d71d7ebb9e2c0ed.dd24791ce6985c826497ec3fdcb4126521deff88f613db6680eea15a0d9f9b01
X-KICKIT-APP-NAME: KickItApp
X-KICKIT-APP-VERSION: 1.0.1-production
X-KICKIT-BUILD-NUMBER: 1000
X-KICKIT-PLATFORM: iOS
X-KICKIT-PLATFORM-OS-VERSION: 10.4
Content-Type: application/json

{
  "data": {
    "client": "My custome client data point",
    "some_other_custom_field": "custom_value"
  }
}

Response example

HTTP/1.1 200 OK
Connection: keep-alive
X-Frame-Options: SAMEORIGIN
Referrer-Policy: strict-origin-when-cross-origin
Content-Type: application/json; charset=utf-8
Vary: Accept
Etag: W/"9ce0ec7deabcb98c0fb40323819ac385"
Cache-Control: max-age=0, private, must-revalidate
X-Request-Id: 63c973ab-f4dd-4a79-8fff-892ae1b49d3f
X-Runtime: 0.014923
Transfer-Encoding: chunked

{
  "matched": true,
  "message": "Please install our newest version 0.0.2",
  "hard_deprecation": false,
  "target_meta": {
    "app_name": "KickItApp",
    "version": "1.0.1-production",
    "build_number": "1000",
    "platform": "ios",
    "platform_version": "10.4",
  }
}

Based on this response, on the client side, we would check whether matched is true or false. If it is true we would then need to check whether it is a hard_deprecation. If it is we stop the user from continuing forward and show the configured text message, if not, we then show the user a dismissible dialog that shows the configured message but that allows them to proceed using your application.

Summary

To help you manage applications that users must/could upgrade, you can use the https://kickit.dev/api/v1/target-checks/ endpoint. This endpoint takes in what you created in https://kickit.dev/app-targets and returns a json object that you can use from the application to determine if you should allow the user to proceed or not.

Back