This feature is currently under development and, although not available in the current version, its preliminary documentation is provided to give you a preview of the enhancements that will be included in an upcoming update.

HTTP Operation Type Object DTO Why-DTOs?
(Query) filesExport FileExport

Description

The FilesExport query initiates the generation of an export archive for files matching the specified filters.
It triggers the creation of one or more ZIP files (each limited to 65MB) and an accompanying index.csv file describing the contents.

The response itself does not return the download links.
Instead, it provides the status of the export request (ACCEPTED or NO_MATCH).
Once the request is accepted and processing is complete, the generated artifacts can be retrieved using the files query with the filter filesExport: { eq: true }.
This query will return short-lived download links (downloadPath) for the index.csv and the exported ZIP packages.

This mechanism is ideal for exporting documents by customer, supplier, accounting entry, or for compliance and audit purposes.

All filtering options and restrictions are identical to those supported by the files query.

img

graphQL Query
query ($language: String!) {
  filesExport(
    language: $language
    where: {
      entityType: { eq: CUSTOMER }
      businessDate: { gte: "2024-01-01", lte: "2024-12-31" }
    }
  ) {
    status
    message
    requestedAt
  }
}

graphQL Variables
{
  "language": "en-US"
}
Possible Responses
  • Case 1 - Request accepted

    {
      "data": {
        "filesExport": {
          "status": "ACCEPTED",
          "message": "Export request accepted. Generated files will become available shortly.",
          "requestedAt": "2025-09-18T09:41:12Z"
        }
      }
    }
    
  • Case 2 - No matching files

    {
      "data": {
        "filesExport": {
          "status": "NO_MATCH",
          "message": "No files match the provided filters.",
          "requestedAt": "2025-09-18T09:41:12Z"
        }
      }
    }
    

Filtering

The filesExport query supports the following options and constraints:

Filtering Restrictions

Due to technical constraints, the query only supports a limited and controlled set of filtering options.
Any unsupported combination may result in errors or ignored filters.

Supported Filters
  Field Operators Allowed Notes
entityType eq, in Use in to match up to 10 values. Values are treated as OR.
entityId eq, in Use in to match up to 10 IDs. Values are treated as OR.
businessDate gte, gt, lte Date range filters supported
uploadDate gte, gt, lte Date range filters supported
Not Supported

Language

You can pass a language input to control the localization of generated textual content (for example, headers in the index.csv, and other textual elements produced by the export flow).

Key Value
Authorization Bearer Current access Token How to find?
X-TenantId Current tenant id How to find?
X-OrganizationId Current organization Id How to find?
x-api-key Primary or secondary subscription key of your app How to find?

filesExport

These fields can only be used as filter criteria.

Fields Type Description
uploadDate DateTime Date and time when the file was uploaded
businessDate DateTime Business-relevant date associated with the file
entityType
  • CUSTOMER
  • SUPPLIER
  • EMPLOYEE
  • PRODUCT
  • ACCOUNTING_ENTRY
  • PURCHASE_INVOICE
  • ORGANIZATION
Type of entity the file is linked to

filesExport Input parameters

Fields Type Description Length
language String Target language for generated textual content 2 or 5
Info
  • language: Controls localization for generated artifacts of the export process, such as column headers in the index.csv. Accepted formats:
    • Short format: fr, en, es, de.
    • Full format: as returned by applicationLanguageCode in userProfile, for example fr-FR.

filesExport Response

Fields Type Description Length
status Enum Status of the export request: ACCEPTED or NO_MATCH.  
message String Additional information about the result of the request. 500
requestedAt DateTime Server timestamp when the request was processed.  

How to retrieve the ZIP and index information?

Once the request is ACCEPTED, use the files query with filesExport: { eq: true } to retrieve the generated artifacts.
You can poll this query until results appear. While the response is empty, processing is not finished.
As soon as nodes are returned, you can download each file using its downloadUrl. The result typically contains one index.csv and one or more ZIP archives.

Rules:

graphQL Query
query {
  files(
    order: { uploadDate: DESC },
    where: {
      filesExport: { eq: true }
    }
  ) {
    edges {
      node {
        id
        fileName
        type  
        mimeType
        size
        uploadDate
        downloadPath
        previewPath
        filesExport
      }
    }
  }
}
Example Response
{
  "data": {
    "files": {
      "edges": [
        {
          "node": {
            "id": "d2c33b7f-4c89-4e21-9f6e-1a75a1f4f8aa.csv",
            "fileName": "index.csv",
            "type": "csv",
            "mimeType": "text/csv",
            "size": 1842,
            "uploadDate": "2025-09-15T10:05:23Z",
            "downloadPath": "/files/LqTJRFny",
            "previewPath": "/files/aZ3kTyPq",
            "filesExport": true
          }
        },
        {
          "node": {
            "id": "7a5b91d2-8e72-4d3a-92ac-3dbcf76f3214.zip",
            "fileName": "archives.zip",
            "type": "zip",
            "mimeType": "application/zip",
            "size": 6543210,
            "uploadDate": "2025-09-15T10:05:24Z",
            "downloadPath": "/files/M8rNfVxJ",
            "previewPath": "/files/pR4mGwVe",
            "filesExport": true
          }
        }
      ]
    }
  }
}
Important

If you need a new export, rerun filesExport with the desired filters. Retrieval via files with filesExport: { eq: true } only lists what has already been generated.