/systems/export - Export systems to CSV or PDF

Add MCP server to your AI tool

Allow AI tools and LLMs to interact with the API documentation portal through MCP.

MCP server URL

https://api.my.nethesis.it/mcp

Standard setup for AI tools providing an mcp.json file

mcp.json
{
  "my.nethesis.it MCP server": {
    "url": "https://api.my.nethesis.it/mcp"
  }
}

Close
GET /systems/export

Export systems with applied filters to CSV or PDF format.

Features:

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

Permissions: Requires read:systems permission and respects RBAC hierarchy

Export Fields:

  • Name, Type, Version, Status
  • FQDN, IPv4 Address, IPv6 Address
  • System Key, Notes
  • Created At
  • Organization Name, Organization Type
  • Created By Name, Created By Email, Created By Organization

Query parameters

  • format string Required

    Export format (csv or pdf)

    Values are csv or pdf.

  • sort_by string

    Field to sort systems by

    Values are name, type, status, fqdn, version, system_key, created_at, updated_at, creator_name, or organization_name.

  • sort_direction string

    Sort direction

    Values are asc or desc. Default value is asc.

  • name string

    Filter systems by name (case-insensitive, partial match)

  • system_key string

    Filter systems by system key (exact match). Useful for exporting a single system.

  • type array[string]

    Filter systems by type/product (exact match). Supports multiple values for checkbox filtering.

  • created_by array[string]

    Filter systems by creator user ID or creator organization ID (exact match). Each provided ID is checked against both the user_id and organization_id fields of the system creator. Supports multiple values for checkbox filtering.

    Examples:

    • ?created_by=53h5zxpwu4vc - matches systems created by user with ID 53h5zxpwu4vc
    • ?created_by=lbswt1rxdhbz - matches systems created by users in organization lbswt1rxdhbz
    • ?created_by=53h5zxpwu4vc&created_by=lbswt1rxdhbz - matches systems created by the user OR by users in the organization
  • version array[string]

    Filter systems by version using prefixed format product:version (e.g., nsec:8.0, ns8:1.2.3). The prefix prevents ambiguity when the same version number exists for multiple products. Supports multiple values for checkbox filtering.

    Example: ?version=nsec:8.0&version=ns8:1.2.3 matches systems with (nsec version 8.0) OR (ns8 version 1.2.3)

    Backward compatibility: Non-prefixed versions (e.g., 8.0) are still supported but may match multiple products.

  • organization_id array[string]

    Filter systems by organization ID (exact match). Supports multiple values for checkbox filtering.

  • status array[string]

    Filter systems by status. Supports multiple values.

    • unknown, active, inactive, deleted: match the system status column
    • suspended: virtual status matching systems with suspended_at IS NOT NULL

    Special value "deleted" shows soft-deleted systems (where deleted_at IS NOT NULL). When "deleted" is combined with other statuses, both deleted and non-deleted systems matching the other statuses are returned.

    Values are unknown, active, inactive, suspended, or deleted.

Responses

  • Export file generated successfully

    Hide headers attributes Show headers attributes
    • Content-Disposition string

      Attachment filename

    • Content-Length integer

      File size in bytes

    CSV file with systems data

    PDF report with systems data

  • 400 application/json

    Bad request (invalid format or too many systems)

    Hide response attributes Show response attributes object
    • code integer
    • message string
    • data object
      Hide data attributes Show data attributes object
      • total_count integer
      • max_limit integer
  • 401 application/json

    Unauthorized - invalid or missing token

    Hide response attributes Show response attributes object
    • code integer
    • message string
    • data object | null
  • 403 application/json

    Forbidden - insufficient permissions

    Hide response attributes Show response attributes object
    • code integer
    • message string
    • data object | null
GET /systems/export
curl \
 --request GET 'https://collect.your-domain.com/api/systems/export?format=csv' \
 --header "Authorization: Bearer $ACCESS_TOKEN"
Response examples (400)
{
  "code": 400,
  "message": "too many systems to export (15000). maximum allowed: 10000. please apply more filters",
  "data": {
    "total_count": 15000,
    "max_limit": 10000
  }
}
Response examples (401)
{
  "code": 401,
  "message": "invalid token",
  "data": {}
}
Response examples (403)
{
  "code": 403,
  "message": "insufficient permissions",
  "data": {}
}