Apks

List of available methods for searching, obtaining apks, analysis, etc.

Endpoints

GET /apks/

List of applications (apks).

Sorting is done by creation date in descending order.

This method has a specific request limit. For more information, please refer to the documentation on API limits for more information.

Parameters
GET /apks/(str: sha256)/

Detailed information about an apk.

This method has a specific request limit. For more information, please refer to the documentation on API limits.

Example response:

{
  "id": "bMo71eaEM2m1xR3g",
  "url": "https://developer.koodous.com/apks/ca9139a9978f306d07da26d6b299661af67f99e6b1e2f1c19f29b11fb44eb429/",
  "sha256": "ca9139a9978f306d07da26d6b299661af67f99e6b1e2f1c19f29b11fb44eb429",
  "md5": "9ec448a9b5826bff5f67deb78a332109",
  "sha1": "47b198defd13935a8cf8a44d66ab752feda5c810",
  "app": "Sticker Center",
  "package_name": "com.samsung.android.stickercenter",
  "company": "Samsung Corporation",
  "version": "2.2.00.16",
  "image": null,
  "size": 8485692,
  "tags": [],
  "is_trusted": false,
  "is_installed": false,
  "rating": 0,
  "is_detected": false,
  "is_corrupted": false,
  "is_static_analyzed": false,
  "is_dynamic_analyzed": false,
  "last_yara_analysis_at": null,
  "created_at": "2022-01-14T09:41:01.648728+01:00"
}
GET /apks/(str: sha256)/analysis/

Obtain the static and dynamic analysis report.

Root indexes of the analysis report:

{
  "cuckoo": { },
  "androguard": { },
  "dynamic": { },
}
If any of the analyses have not been performed, the corresponding sub-dictionary will appear with a null value. In

case the report is completely empty, a 404 (not found) response code will be returned.

This method has a specific request limit. For more information, please refer to the documentation on API limits.

Status Codes
  • 404 Not Found – The application has no static or dynamic analysis.

GET /apks/(str: sha256)/analyze_static/

Perform a static analysis request (Androguard and Cuckoo).

The analysis may take several minutes to complete. If the analyst that requested it has notifications enabled, they will receive a notification when it is finished.

This method has a specific request limit. For more information, please refer to the documentation on API limits.

GET /apks/(str: sha256)/analyze_dynamic/

Perform a dynamic analysis request (Droidbox).

The analysis may take several minutes to complete. If the analyst that requested it has notifications enabled, they will receive a notification when it is finished.

This method has a specific request limit. For more information, please refer to the documentation on API limits.

GET /apks/(str: sha256)/analyze_yara/

Perform a Yara analysis request with all active rules in the system.

All analysts that have notifications for matches enabled will be notified if one of their rules has produced a match

The analysis may take several minutes to complete.

This method has a specific request limit. For more information, please refer to the documentation on API limits.

GET /apks/(str: sha256)/download/

Request the download link for an apk.

The link will be available for 3 minutes, after which it will expire and become invalid.

This method has a specific request limit. For more information, please refer to the documentation on API limits.

GET /apks/(str: sha256)/get_upload_url/

Generate an upload link for an apk.

To insert an apk into the system, an upload link must be requested from the Warehouse. Once obtained, The link will be available for 1 hour, after which it will become invalid.

Once the apk is uploaded it will be analysed, and if it is a valid Android application it will be inserted in the system, and then automatically analysed.

It is not necessary to be authenticated to upload an apk.

GET /apks/(str: sha256)/vote_negative/

Place a negative vote for an apk.

Only one vote per user is allowed for an apk and it cannot be changed once submitted.

GET /apks/(str: sha256)/vote_positive/

Place a positive vote for an apk.

Only one vote per user is allowed for an apk and it cannot be changed once submitted.

Comment endpoints

GET /apks/(str: sha256)/comments/

List of comments in an apk.

POST /apks/(str: sha256)/comments/

Add a comment in an apk.

GET /apks/(str: sha256)/comments/(str: hashid)/

Comment details in an apk.

PUT /apks/(str: sha256)/comments/(str: hashid)/

Update a comment in an apk.

PATCH /apks/(str: sha256)/comments/(str: hashid)/

Update a comment in an apk.

DELETE /apks/(str: sha256)/comments/(str: hashid)/

Delete a comment in an apk.

Match endpoints

GET /apks/(str: sha256)/matches/

List of matches found on the indicated apk.

Vote endpoints

GET /apks/(str: sha256)/votes/

List of votes.