> ## Documentation Index
> Fetch the complete documentation index at: https://docs.azalt.co/llms.txt
> Use this file to discover all available pages before exploring further.

# Export form element submissions

> Export form element submissions data to various formats for analysis and reporting.

**Export Features**:
- Bulk data export for multiple form elements and submissions
- Support for various export formats (CSV, Excel, etc.)
- Flexible filtering by date ranges, sites, and form criteria
- Structured data output suitable for external analysis tools

TIMESTAMP support:
- Includes a `recordedAt` column. For TIMESTAMP elements, one row is emitted per entry with `recordedAt` set. For other elements, `recordedAt` is empty.
- No placeholders are generated for TIMESTAMP elements, even when `includeEmptyRows=true`.

Example request:
```json
{
  "formIds": ["form-123"],
  "siteIds": ["site-1"],
  "years": [2024],
  "format": "csv",
  "includeFormName": true
}
```

Example CSV rows (trimmed):
```
siteName,year,key,periodUnit,value,recordedAt
plant-a,2024,water_usage,3,120.5,2024-03-15T10:30:00Z
```

This endpoint is ideal for generating reports, conducting data analysis, or migrating data to external systems. The exported data maintains the hierarchical structure of forms, elements, and their submitted values.



## OpenAPI

````yaml https://app.azalt.co/api/v1/openapi.json post /form-element-submissions/export
openapi: 3.0.3
info:
  title: Erguvan Public API
  version: 1.0.0
servers:
  - url: https://app.azalt.co/api/v1
security: []
paths:
  /form-element-submissions/export:
    post:
      tags:
        - FormElementSubmission
      summary: Export form element submissions
      description: >-
        Export form element submissions data to various formats for analysis and
        reporting.


        **Export Features**:

        - Bulk data export for multiple form elements and submissions

        - Support for various export formats (CSV, Excel, etc.)

        - Flexible filtering by date ranges, sites, and form criteria

        - Structured data output suitable for external analysis tools


        TIMESTAMP support:

        - Includes a `recordedAt` column. For TIMESTAMP elements, one row is
        emitted per entry with `recordedAt` set. For other elements,
        `recordedAt` is empty.

        - No placeholders are generated for TIMESTAMP elements, even when
        `includeEmptyRows=true`.


        Example request:

        ```json

        {
          "formIds": ["form-123"],
          "siteIds": ["site-1"],
          "years": [2024],
          "format": "csv",
          "includeFormName": true
        }

        ```


        Example CSV rows (trimmed):

        ```

        siteName,year,key,periodUnit,value,recordedAt

        plant-a,2024,water_usage,3,120.5,2024-03-15T10:30:00Z

        ```


        This endpoint is ideal for generating reports, conducting data analysis,
        or migrating data to external systems. The exported data maintains the
        hierarchical structure of forms, elements, and their submitted values.
      operationId: exportFormElementSubmissions
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              properties:
                formIds:
                  type: array
                  items:
                    type: string
                  minItems: 1
                siteIds:
                  type: array
                  items:
                    type: string
                years:
                  type: array
                  items:
                    type: number
                includeParentSiteName:
                  type: boolean
                  default: false
                includeEmptyRows:
                  type: boolean
                  default: true
                includeElementName:
                  type: boolean
                  default: false
                includeFormName:
                  type: boolean
                  default: false
                includeUnits:
                  type: boolean
                  default: false
                includeMetadata:
                  type: boolean
                  default: false
                includeElementId:
                  type: boolean
                  default: false
                format:
                  type: string
                  enum:
                    - csv
                    - xlsx
                  default: csv
              required:
                - formIds
                - siteIds
                - years
      responses:
        '200':
          description: Successful response
          content:
            application/json:
              schema:
                type: object
                properties:
                  content:
                    type: string
                  filename:
                    type: string
                  format:
                    type: string
                    enum:
                      - csv
                      - xlsx
                  mimeType:
                    type: string
                required:
                  - content
                  - filename
                  - format
                  - mimeType
        '400':
          description: Invalid input data
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/error.BAD_REQUEST'
        '401':
          description: Authorization not provided
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/error.UNAUTHORIZED'
        '403':
          description: Insufficient access
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/error.FORBIDDEN'
        '500':
          description: Internal server error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/error.INTERNAL_SERVER_ERROR'
      security:
        - Authorization: []
components:
  schemas:
    error.BAD_REQUEST:
      type: object
      properties:
        message:
          type: string
          description: The error message
          example: Invalid input data
        code:
          type: string
          description: The error code
          example: BAD_REQUEST
        issues:
          type: array
          items:
            type: object
            properties:
              message:
                type: string
            required:
              - message
          description: An array of issues that were responsible for the error
          example: []
      required:
        - message
        - code
      title: Invalid input data error (400)
      description: The error information
      example:
        code: BAD_REQUEST
        message: Invalid input data
        issues: []
    error.UNAUTHORIZED:
      type: object
      properties:
        message:
          type: string
          description: The error message
          example: Authorization not provided
        code:
          type: string
          description: The error code
          example: UNAUTHORIZED
        issues:
          type: array
          items:
            type: object
            properties:
              message:
                type: string
            required:
              - message
          description: An array of issues that were responsible for the error
          example: []
      required:
        - message
        - code
      title: Authorization not provided error (401)
      description: The error information
      example:
        code: UNAUTHORIZED
        message: Authorization not provided
        issues: []
    error.FORBIDDEN:
      type: object
      properties:
        message:
          type: string
          description: The error message
          example: Insufficient access
        code:
          type: string
          description: The error code
          example: FORBIDDEN
        issues:
          type: array
          items:
            type: object
            properties:
              message:
                type: string
            required:
              - message
          description: An array of issues that were responsible for the error
          example: []
      required:
        - message
        - code
      title: Insufficient access error (403)
      description: The error information
      example:
        code: FORBIDDEN
        message: Insufficient access
        issues: []
    error.INTERNAL_SERVER_ERROR:
      type: object
      properties:
        message:
          type: string
          description: The error message
          example: Internal server error
        code:
          type: string
          description: The error code
          example: INTERNAL_SERVER_ERROR
        issues:
          type: array
          items:
            type: object
            properties:
              message:
                type: string
            required:
              - message
          description: An array of issues that were responsible for the error
          example: []
      required:
        - message
        - code
      title: Internal server error error (500)
      description: The error information
      example:
        code: INTERNAL_SERVER_ERROR
        message: Internal server error
        issues: []
  securitySchemes:
    Authorization:
      type: http
      scheme: bearer

````