Mobile Apps
Upload and manage Android APK files used by mobile tests and mobile discoveries. Mobile apps are immutable artifacts; upload each build separately.
List mobile apps
Returns a cursor-paginated page of the tenant's uploaded Android apps.
Parameters
| Parameter | Type | In | Required | Description |
|---|---|---|---|---|
limit | integer | query | No | Maximum mobile apps to return. |
cursor | uuid | query | No | Return mobile apps older than this artifact. |
Example Request
curl
curl "http://app.aiqaramba.com/api/v1/mobile-apps" \ -H "Authorization: Bearer $AIQA_API_KEY"
Status Codes
| Code | Description |
|---|---|
200 | Tenant mobile apps. |
400 | The request is malformed or failed validation. |
401 | Authentication is missing or invalid. |
500 | The server could not complete the request. |
Response Fields (200)
| Field | Type | Description |
|---|---|---|
mobile_apps | object[] | |
mobile_apps[].id | uuid | |
mobile_apps[].name | string | |
mobile_apps[].package_name | string | |
mobile_apps[].main_activity | string | |
mobile_apps[].version_name | string | |
mobile_apps[].version_code | integer | |
mobile_apps[].size_bytes | integer | |
mobile_apps[].created_at | date-time | |
mobile_apps[].updated_at | date-time | |
next_cursor | uuid |
Import a staged mobile app
Consumes an APK from tenant Files or a trusted assistant workspace.
Request Body (application/json)
| Field | Type | Required | Description |
|---|---|---|---|
source | string | Yes | tenant_files, or chat_workspace for embedded assistant calls |
path | string | Yes | Relative APK path in the selected source |
Example Request
curl
curl -X POST "http://app.aiqaramba.com/api/v1/mobile-apps/import" \
-H "Authorization: Bearer $AIQA_API_KEY" \
-H 'Content-Type: application/json' \
-d '{
"source": "<string>",
"path": "<string>"
}'Status Codes
| Code | Description |
|---|---|
201 | Mobile app imported. |
400 | The request is malformed or failed validation. |
401 | Authentication is missing or invalid. |
403 | The authenticated principal is not authorized for this operation. |
404 | The requested resource does not exist. |
413 | The request body or uploaded artifact is too large. |
422 | The request is structurally valid but cannot be processed. |
500 | The server could not complete the request. |
507 | The tenant does not have enough storage quota. |
Response Fields (201)
| Field | Type | Description |
|---|---|---|
mobile_app | object | An immutable uploaded Android application artifact. |
mobile_app.id | uuid | |
mobile_app.name | string | |
mobile_app.package_name | string | |
mobile_app.main_activity | string | |
mobile_app.version_name | string | |
mobile_app.version_code | integer | |
mobile_app.size_bytes | integer | |
mobile_app.created_at | date-time | |
mobile_app.updated_at | date-time |
Upload a mobile app
Uploads and validates one Android APK of at most 500 MB.
Request Body (multipart/form-data)
| Field | Type | Required | Description |
|---|---|---|---|
file | file | Yes | Android APK (multipart form field name: file) |
Example Request
curl
curl -X POST "http://app.aiqaramba.com/api/v1/mobile-apps/upload" \ -H "Authorization: Bearer $AIQA_API_KEY" \ -F 'file=@./file'
Status Codes
| Code | Description |
|---|---|
201 | Mobile app uploaded. |
400 | The request is malformed or failed validation. |
401 | Authentication is missing or invalid. |
413 | The request body or uploaded artifact is too large. |
422 | The request is structurally valid but cannot be processed. |
500 | The server could not complete the request. |
507 | The tenant does not have enough storage quota. |
Response Fields (201)
| Field | Type | Description |
|---|---|---|
mobile_app | object | An immutable uploaded Android application artifact. |
mobile_app.id | uuid | |
mobile_app.name | string | |
mobile_app.package_name | string | |
mobile_app.main_activity | string | |
mobile_app.version_name | string | |
mobile_app.version_code | integer | |
mobile_app.size_bytes | integer | |
mobile_app.created_at | date-time | |
mobile_app.updated_at | date-time |
Get a mobile app
Parameters
| Parameter | Type | In | Required | Description |
|---|---|---|---|---|
id | uuid | path | Yes | Mobile app ID. |
Example Request
curl
curl "http://app.aiqaramba.com/api/v1/mobile-apps/<id>" \ -H "Authorization: Bearer $AIQA_API_KEY"
Status Codes
| Code | Description |
|---|---|
200 | Mobile app found. |
400 | The request is malformed or failed validation. |
401 | Authentication is missing or invalid. |
404 | The requested resource does not exist. |
500 | The server could not complete the request. |
Response Fields (200)
| Field | Type | Description |
|---|---|---|
mobile_app | object | An immutable uploaded Android application artifact. |
mobile_app.id | uuid | |
mobile_app.name | string | |
mobile_app.package_name | string | |
mobile_app.main_activity | string | |
mobile_app.version_name | string | |
mobile_app.version_code | integer | |
mobile_app.size_bytes | integer | |
mobile_app.created_at | date-time | |
mobile_app.updated_at | date-time |
Delete a mobile app
Deletes an app unless queued or executing runs still use it.
Parameters
| Parameter | Type | In | Required | Description |
|---|---|---|---|---|
id | uuid | path | Yes | Mobile app ID. |
Example Request
curl
curl -X DELETE "http://app.aiqaramba.com/api/v1/mobile-apps/<id>" \ -H "Authorization: Bearer $AIQA_API_KEY"
Status Codes
| Code | Description |
|---|---|
204 | Mobile app deleted. |
400 | The request is malformed or failed validation. |
401 | Authentication is missing or invalid. |
404 | The requested resource does not exist. |
409 | The request conflicts with the current resource state. |
500 | The server could not complete the request. |