Get allowed playstore applications by entity number

Summary

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

  • Source SHA: eb793550a12d9e11927e529c3cd85e40d94c5421

  • Source run id: 29434262589

  • Module: Playstore

  • Lambda function: jef-playstore-get-allowed-applications-by-entity-number

  • 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-allowed-applications-by-entity-number

  • Endpoint URL: https://api.jefoffice.com/playstore/complex-sync-no-packages/jef-playstore-get-allowed-applications-by-entity-number

  • 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 resolves an entity_number and returns the JEF Playstore applications allowed for that entity.

Payload Example

{
  "entity_number": "1513"
}

Payload Schema

{
  "root": {
    "type": "M",
    "required": true,
    "attributes": {
      "entity_number": {
        "type": "S",
        "required": true,
        "regex": "^\\d{4}$"
      }
    }
  },
  "notes": [
    "Input is received from GET query parameters, not a JSON request body.",
    "entity_number must contain exactly four decimal digits.",
    "entity_number is resolved through jef-playstore-entities/get-by-entity-number."
  ]
}

Response Schema

{
  "root": {
    "type": "M",
    "required": true,
    "attributes": {
      "is_accepted": {
        "type": "BOOL",
        "required": true
      },
      "exists": {
        "type": "BOOL",
        "required": true
      },
      "applications_allowed": {
        "type": "BOOL",
        "required": true
      },
      "ok": {
        "type": "BOOL",
        "required": false
      },
      "retryable": {
        "type": "BOOL",
        "required": false
      },
      "repair_required": {
        "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
      },
      "entity_number": {
        "type": "S",
        "required": false
      },
      "entity_id": {
        "type": "S",
        "required": false
      },
      "domain_id": {
        "type": "S",
        "required": false
      },
      "domain_id_source": {
        "type": "S",
        "required": false
      },
      "entity_lookup_source": {
        "type": "S",
        "required": false
      },
      "allowed_application_lookup_source": {
        "type": "S",
        "required": false
      },
      "allowed_application_record_count": {
        "type": "N",
        "required": false
      },
      "latest_allowed_application_record_count": {
        "type": "N",
        "required": false
      },
      "allowed_application_count": {
        "type": "N",
        "required": true
      },
      "applications": {
        "type": "L",
        "required": true,
        "items": {
          "type": "M",
          "attributes": {
            "application_id": {
              "type": "S",
              "required": true
            },
            "domain_id": {
              "type": "S",
              "required": true
            },
            "package_name": {
              "type": "S",
              "required": true
            },
            "name": {
              "type": "S",
              "required": true
            },
            "version": {
              "type": "S",
              "required": true
            },
            "version_code": {
              "type": "N",
              "required": false
            },
            "is_mobile": {
              "type": "BOOL",
              "required": true
            },
            "apk_s3_uri": {
              "type": "S",
              "required": false
            },
            "apk_cloudfront_url": {
              "type": "S",
              "required": false
            },
            "apk_object_key": {
              "type": "S",
              "required": false
            },
            "apk_sha256": {
              "type": "S",
              "required": false
            },
            "signing_certificate_sha256": {
              "type": "S",
              "required": false
            },
            "apk_size_bytes": {
              "type": "N",
              "required": false
            },
            "build_type": {
              "type": "S",
              "required": false
            },
            "source_sha": {
              "type": "S",
              "required": false
            },
            "created": {
              "type": "S",
              "required": true
            },
            "updated": {
              "type": "S",
              "required": true
            },
            "allowed_application_id": {
              "type": "S",
              "required": false
            },
            "is_allowed": {
              "type": "BOOL",
              "required": false
            },
            "allowed_created": {
              "type": "S",
              "required": false
            },
            "allowed_updated": {
              "type": "S",
              "required": false
            }
          }
        }
      },
      "entity": {
        "type": "M",
        "required": false
      },
      "warnings": {
        "type": "L",
        "required": false
      },
      "failure_code": {
        "type": "S",
        "required": false
      },
      "failure_reason": {
        "type": "S",
        "required": false
      },
      "matches": {
        "type": "L",
        "required": false
      },
      "match_count": {
        "type": "N",
        "required": false
      },
      "missing_application_ids": {
        "type": "L",
        "required": false
      },
      "domain_mismatches": {
        "type": "L",
        "required": false
      },
      "candidate_domain_ids": {
        "type": "L",
        "required": false
      },
      "invalid_application_domain_ids": {
        "type": "L",
        "required": false
      }
    }
  },
  "notes": [
    "A 200 empty result means the entity exists, has a valid domain_id, and has no currently allowed applications.",
    "If entity.domain_id is missing/invalid, the function derives it only when all allowed applications share one valid domain_id.",
    "A 409 entity_domain_id_missing_or_invalid means the entity data must be repaired or fallback derivation was unsafe.",
    "A 409 duplicate_entity_number means entity_number authorization is ambiguous and must be repaired.",
    "A 409 allowed_application_target_missing means an allowed relation points to a missing application.",
    "A 409 application_domain_mismatch means an allowed relation crosses entity/application domains.",
    "Allowed-application authorization is separate from live APK verification; Android must use the latest-version endpoint before installation."
  ]
}

CMD curl

curl.exe -X GET "https://api.jefoffice.com/playstore/complex-sync-no-packages/jef-playstore-get-allowed-applications-by-entity-number"

PowerShell curl

curl.exe -X GET "https://api.jefoffice.com/playstore/complex-sync-no-packages/jef-playstore-get-allowed-applications-by-entity-number"