# /applications/export - Export applications to CSV or PDF

**GET /applications/export**

Export applications with applied filters to CSV or PDF format.

**Features:**
- Supports all filter parameters from GET /applications, including `include_hierarchy`
- Maximum 10,000 applications per export (DoS protection)
- CSV format: Simple spreadsheet with all fields
- PDF format: Formatted report with metadata and filters applied
- File naming: `applications_export_YYYY-MM-DD_HHmmss.[csv|pdf]`

**Permissions**: Requires `read:applications` permission and respects RBAC hierarchy.
The export carries exactly the rows the list returns: user-facing applications on
systems the caller can see.

**Export Fields:**
- Name, Module ID, Type, Type ID, Version, FQDN (the hostnames the application is published on, comma separated), Status
- Node, URL, Notes, Has Errors
- System
- Organization, Organization Type
- First Seen At, Last Inventory At, Created At



## Servers
- Backend API server: https://my.nethesis.it/backend/api (Backend API server)


## Authentication methods
- Bearer auth


## Parameters


### Query parameters

- **format** (string)
  Export format (csv or pdf)

- **search** (string)
  Search term. For organizations (distributors, resellers, customers), searches across name, description, and all custom_data fields (vat, address, city, contact, email, phone, language, notes, etc.). For systems, also searches across ipv4_address, ipv6_address and the organization name.

- **sort_by** (string)
  Field to sort applications by

- **sort_direction** (string)
  Sort direction

- **type** (array[string])
  Filter applications by type (instance_of). Supports multiple values.

- **version** (array[string])
  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.

- **system_id** (array[string])
  Filter applications by system ID. Supports multiple values.

- **organization_id** (array[string])
  Filter applications by organization ID, matching the assigned organization or, for unassigned applications, the organization of the hosting system. Supports multiple values; combine with include_hierarchy to cover a whole subtree.

- **include_hierarchy** (boolean)
  When true (and organization_id is provided), each organization_id is expanded to the organization plus all its descendants (a distributor's resellers and their customers, a reseller's customers) before filtering

- **parent_organization_id** (array[string])
  "Managed by" filter. Keeps the entries whose organization is one of these organization Logto IDs or sits anywhere in their subtree (a distributor's resellers and customers, a reseller's customers), the set the hierarchy counters of an organization count over. For applications, an unassigned application counts with the organization of its system. ANDed with organization_id, so the assigned company and Managed by combine. Supports multiple values. Results always stay within the caller's RBAC scope.

- **status** (array[string])
  Filter applications by assignment status. Supports multiple values.



## Responses
### 200
Export file generated successfully
#### Headers

- **Content-Disposition** (string)
  Attachment filename

- **Content-Length** (integer)
  File size in bytes


#### Body: text/csv (string(binary))
string(binary)
### 400
Bad request (invalid format or too many applications)

#### Body: application/json (object)
- **code** (integer)

- **message** (string)

- **data** (object)


### 401
Unauthorized - invalid or missing token

#### Body: application/json (object)
- **code** (integer)

- **message** (string)

- **data** (object | null)


### 403
Forbidden - insufficient permissions

#### Body: application/json (object)
- **code** (integer)

- **message** (string)

- **data** (object | null)


### 429
Another export is already running on this instance; retry after the number of seconds in Retry-After

#### Body: application/json (object)
- **code** (integer)

- **message** (string)

- **data** (object)



[Powered by Bump.sh](https://bump.sh)
