Get all playstore applications by domain¶
Summary¶
Source repository:
jef-systems/jef-playstore-backendSource SHA:
eb793550a12d9e11927e529c3cd85e40d94c5421Source run id:
29434262589Module:
PlaystoreLambda function:
jef-playstore-get-all-applications-by-domainHTTP method:
GETInvocation mode:
syncPackage mode:
no-packageAPI category:
Playstore Complex Sync No Package GET APIsAPI path:
/playstore/complex-sync-no-packages/jef-playstore-get-all-applications-by-domainEndpoint URL:
https://api.jefoffice.com/playstore/complex-sync-no-packages/jef-playstore-get-all-applications-by-domainDocumentation 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 validates a domain_id, confirms the domain exists, and returns all JEF Playstore applications for that domain using the get-by-domain-id-updated GSI.
Payload Example¶
{
"domain_id": "00000000-0000-4000-8000-000000000000"
}
Payload Schema¶
{
"root": {
"type": "M",
"required": true,
"attributes": {
"domain_id": {
"type": "S",
"required": true,
"regex": "^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}$",
"format": "uuidv4"
}
}
},
"notes": [
"Input is received from GET query parameters, not a JSON request body.",
"domain_id is resolved from jef-playstore-domains using the main primary key before querying applications."
]
}
Response Schema¶
{
"root": {
"type": "M",
"required": true,
"attributes": {
"is_accepted": {
"type": "BOOL",
"required": true
},
"exists": {
"type": "BOOL",
"required": true
},
"applications_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
},
"domain_id": {
"type": "S",
"required": false
},
"domain_lookup_source": {
"type": "S",
"required": false
},
"application_lookup_source": {
"type": "S",
"required": false
},
"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
}
}
}
},
"domain": {
"type": "M",
"required": false
},
"failure_code": {
"type": "S",
"required": false
},
"failure_reason": {
"type": "S",
"required": false
}
}
},
"notes": [
"A 200 empty result means the domain exists but currently has no applications.",
"A 404 domain_not_found means the domain_id did not match any jef-playstore-domains record.",
"DynamoDB failures return retryable 500 responses with failure_code and failure_reason.",
"version_code and signing_certificate_sha256 are catalog metadata only; live APK verification is performed by the release endpoints."
]
}
CMD curl¶
curl.exe -X GET "https://api.jefoffice.com/playstore/complex-sync-no-packages/jef-playstore-get-all-applications-by-domain"
PowerShell curl¶
curl.exe -X GET "https://api.jefoffice.com/playstore/complex-sync-no-packages/jef-playstore-get-all-applications-by-domain"