Get Apps

Retrieves a list of installed apps that match the search criteria.

Required Permissions

Requires the MEMBER role or higher.

HTTP Request

GET /api/sonar/apps
cURL Example
curl -H "Authorization: Bearer <API_KEY>" \
     https://HOSTNAME/api/sonar/apps
Request Parameters
KeyRequiredTypeDescriptionNotes
offsetNo32-bit integerNumber of records to skipDefault: 0
limitNo32-bit integerMaximum number of records to loadDefault: 2147483647
keywordsNoStringSearch keywordSearches app code and name

Success Response

{
  "total_count": 1,
  "apps": [
    {
      "code": "logpresso-sample-app",
      "name": "Sample App",
      "bundle_symbolic_name": "com.logpresso.sample.app",
      "version": "1.0.0",
      "description": "Sample app description",
      "icon": "data:image/png;base64,iVBORw0KGgo...",
      "built_at": "2024-09-01 09:00:00+0900",
      "installed_at": "2024-09-15 14:30:00+0900",
      "enabled": true
    }
  ]
}
  • total_count (32-bit integer): Total number of apps matching the search criteria
  • apps (Array): App list
    • code (String): App code
    • name (String): App name (localized to the request session locale)
    • bundle_symbolic_name (String): OSGi bundle symbolic name
    • version (String): App version
    • description (String): App description (localized to the request session locale)
    • icon (String): App icon image encoded in Base64
    • built_at (String): App build timestamp (format: yyyy-MM-dd HH:mm:ssZ)
    • installed_at (String): App installation timestamp (format: yyyy-MM-dd HH:mm:ssZ)
    • enabled (Boolean): Enabled state (true: enabled, false: disabled)

Error Responses

offset or limit value is not an integer

HTTP status code 400

{
  "error_code": "invalid-argument",
  "error_msg": "'offset' parameter should be int type"
}
Permission denied

HTTP status code 500

{
  "error_code": "illegal-state",
  "error_msg": "no-permission"
}