Get latest playstore app version by package name

Summary

  • Source repository: jef-systems/jef-playstore-backend

  • Source SHA: eb793550a12d9e11927e529c3cd85e40d94c5421

  • Source run id: 29434262589

  • Module: Playstore

  • Lambda function: jef-playstore-get-latest-app-version-by-package-name

  • HTTP method: GET

  • Invocation mode: sync

  • Package mode: no-package

  • API category: Playstore Complex Sync No Package GET APIs

  • API path: /playstore/complex-sync-no-packages/jef-playstore-get-latest-app-version-by-package-name

  • Endpoint URL: https://api.jefoffice.com/playstore/complex-sync-no-packages/jef-playstore-get-latest-app-version-by-package-name

  • Documentation scope: lambda-complex-sync-no-packages

Synchronous Lambda Complex Rule

This API is documented as a synchronous Lambda complex no-package API. API Gateway waits for the Lambda result and returns the final Lambda response.

Description

GET endpoint that queries the JEF Playstore S3 release folder and returns the latest APK version for a package name.

Payload Example

{
  "package_name": "com.jef.playstore",
  "build_type": "release"
}

Payload Schema

{
  "root": {
    "type": "M",
    "required": true,
    "attributes": {
      "package_name": {
        "type": "S",
        "required": true,
        "regex": "^[a-zA-Z][a-zA-Z0-9_]*(?:[.][a-zA-Z][a-zA-Z0-9_]*){1,}$"
      },
      "build_type": {
        "type": "S",
        "required": false,
        "regex": "^(debug|release)$"
      }
    }
  },
  "notes": [
    "Input is received from GET query parameters, not a JSON request body.",
    "package_name maps directly to the S3 folder under github-artifacts.",
    "build_type is optional; Android production callers should explicitly request release.",
    "The newest semantic version is returned only after full object hash, ZIP header, signing block, signer certificate, path, and S3 metadata verification."
  ]
}

Response Schema

{
  "root": {
    "type": "M",
    "required": true,
    "attributes": {
      "is_accepted": {
        "type": "BOOL",
        "required": true
      },
      "exists": {
        "type": "BOOL",
        "required": true
      },
      "latest_version_found": {
        "type": "BOOL",
        "required": true
      },
      "ok": {
        "type": "BOOL",
        "required": false
      },
      "retryable": {
        "type": "BOOL",
        "required": false
      },
      "message_type": {
        "type": "S",
        "required": true
      },
      "message": {
        "type": "S",
        "required": true
      },
      "operation": {
        "type": "S",
        "required": true
      },
      "status_code": {
        "type": "N",
        "required": true
      },
      "package_name": {
        "type": "S",
        "required": false
      },
      "latest_version": {
        "type": "S",
        "required": false
      },
      "version": {
        "type": "S",
        "required": false
      },
      "version_name": {
        "type": "S",
        "required": false
      },
      "version_code": {
        "type": "N",
        "required": false
      },
      "build_type": {
        "type": "S",
        "required": false
      },
      "requested_build_type": {
        "type": "S",
        "required": false
      },
      "apk_sha256": {
        "type": "S",
        "required": false
      },
      "sha256": {
        "type": "S",
        "required": false
      },
      "apk_size_bytes": {
        "type": "N",
        "required": false
      },
      "content_length": {
        "type": "N",
        "required": false
      },
      "size": {
        "type": "N",
        "required": false
      },
      "content_type": {
        "type": "S",
        "required": false
      },
      "signing_certificate_sha256": {
        "type": "S",
        "required": false
      },
      "signing_certificate_source": {
        "type": "S",
        "required": false
      },
      "signing_scheme": {
        "type": "S",
        "required": false
      },
      "object_key": {
        "type": "S",
        "required": false
      },
      "canonical_object_key": {
        "type": "S",
        "required": false
      },
      "object_file_name": {
        "type": "S",
        "required": false
      },
      "s3_uri": {
        "type": "S",
        "required": false
      },
      "bucket_name": {
        "type": "S",
        "required": false
      },
      "bucket_prefix": {
        "type": "S",
        "required": false
      },
      "package_prefix": {
        "type": "S",
        "required": false
      },
      "etag": {
        "type": "S",
        "required": false
      },
      "cache_control": {
        "type": "S",
        "required": false
      },
      "last_modified": {
        "type": "S",
        "required": false
      },
      "metadata_verified": {
        "type": "BOOL",
        "required": false
      },
      "apk_magic_verified": {
        "type": "BOOL",
        "required": false
      },
      "apk_format_verified": {
        "type": "BOOL",
        "required": false
      },
      "apk_sha256_verified": {
        "type": "BOOL",
        "required": false
      },
      "apk_signing_block_verified": {
        "type": "BOOL",
        "required": false
      },
      "apk_magic_hex": {
        "type": "S",
        "required": false
      },
      "metadata": {
        "type": "M",
        "required": false,
        "attributes": {
          "package_name": {
            "type": "S",
            "required": false
          },
          "version": {
            "type": "S",
            "required": false
          },
          "version_code": {
            "type": "S",
            "required": false
          },
          "build_type": {
            "type": "S",
            "required": false
          },
          "apk_sha256": {
            "type": "S",
            "required": false
          },
          "signing_certificate_sha256": {
            "type": "S",
            "required": false
          }
        }
      },
      "s3_metadata": {
        "type": "M",
        "required": false
      },
      "available_versions": {
        "type": "L",
        "required": false
      },
      "invalid_version_folders": {
        "type": "L",
        "required": false
      },
      "skipped_missing_apk_versions": {
        "type": "L",
        "required": false
      },
      "skipped_invalid_releases": {
        "type": "L",
        "required": false
      },
      "failure_code": {
        "type": "S",
        "required": false
      },
      "failure_reason": {
        "type": "S",
        "required": false
      }
    }
  },
  "notes": [
    "A success response is emitted only after the complete S3 object SHA-256 matches publication metadata.",
    "The APK ZIP header and APK v2/v3/v3.1 signing block are parsed using Python standard-library code.",
    "signing_certificate_sha256 is derived from the first signer certificate in the APK signing block and cross-checked with S3 metadata when present.",
    "metadata_verified, apk_magic_verified, apk_format_verified, apk_sha256_verified, and apk_signing_block_verified are never true when their verification step was skipped.",
    "When discovering the latest release, invalid newer releases are recorded in skipped_invalid_releases and the next semantic version is evaluated."
  ]
}

CMD curl

curl.exe -X GET "https://api.jefoffice.com/playstore/complex-sync-no-packages/jef-playstore-get-latest-app-version-by-package-name"

PowerShell curl

curl.exe -X GET "https://api.jefoffice.com/playstore/complex-sync-no-packages/jef-playstore-get-latest-app-version-by-package-name"