Get list of system applications visible to the user based on hierarchical organization permissions. Supports filtering by type, version, system, organization, and status.
Query String Examples:
- Single type filter:
?type=mail - Multiple types filter:
?type=mail&type=webtop - Status filter:
?status=unassigned - With pagination and sorting:
?page=1&page_size=50&sort_by=instance_of&sort_direction=asc - Combined filters:
?type=mail&status=assigned&organization_id=org_abc123
Query parameters
-
Page number
Minimum value is
1. Default value is1. -
Items per page
Minimum value is
1, maximum value is100. Default value is20. -
Search term
Minimum length is
1. -
Field to sort applications by
Values are
display_name,module_id,instance_of,version,status,created_at,updated_at,last_inventory_at,system_name, ororganization_name. -
Sort direction
Values are
ascordesc. Default value isasc. -
Filter applications by type (instance_of). Supports multiple values.
-
Filter applications by version. Supports multiple values. Uses prefixed format "application:version" (e.g., "nethvoice:1.5.3") to avoid ambiguity when the same version exists for multiple application types.
-
Filter applications by system ID. Supports multiple values.
-
Filter applications by organization ID. Supports multiple values.
-
Filter applications by assignment status. Supports multiple values.
Values are
unassignedorassigned.
curl \
--request GET 'https://api.your-domain.com/api/applications' \
--header "Authorization: Bearer $ACCESS_TOKEN"
{
"code": 200,
"message": "applications retrieved successfully",
"data": {
"applications": [
{
"id": "sys_abc123_mail1",
"module_id": "mail1",
"instance_of": "mail",
"name": "Nextcloud",
"source": "ghcr.io/nethserver/nextcloud",
"display_name": "Milan Office PBX",
"version": "1.2.3",
"status": "assigned",
"node_id": 1,
"node_label": "Worker Node",
"url": "https://cluster.example.com/cluster-admin/#/apps/mail1",
"notes": "Corporate email server for marketing department",
"has_errors": false,
"inventory_data": {
"nethvoice_proxy": "nethvoice-proxy1",
"internal_openldap": "mydomain.com"
},
"backup_data": {
"status": "success",
"destination": "BlackBlaze B1",
"total_files": 5759,
"completed_at": "2025-09-16T12:30:00Z",
"duration_seconds": 106,
"total_size_bytes": 9185231897
},
"services_data": {
"services": [
{
"name": "NethVoice CTI server",
"error": "is not running",
"since": "2025-09-16T23:10:00Z",
"status": "error"
}
],
"has_errors": true,
"error_count": 1
},
"system": {
"id": "sys_abc123",
"name": "Production Cluster"
},
"organization": {
"id": "4405ffd0-0aca-44ef-bae2-c8545bce94f4",
"logto_id": "akkbs6x2wo82",
"name": "ACME Corp",
"description": "Main customer organization",
"type": "customer"
},
"created_at": "2025-07-01T09:00:00Z",
"last_inventory_at": "2025-07-21T10:25:00Z"
}
],
"pagination": {
"page": 1,
"page_size": 20,
"total_count": 156,
"total_pages": 8,
"has_next": true,
"has_prev": false,
"next_page": 2,
"prev_page": 42,
"sort_by": "name",
"sort_direction": "asc"
}
}
}
{
"code": 401,
"message": "invalid token",
"data": {}
}
{
"code": 403,
"message": "insufficient permissions",
"data": {}
}