> ## 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.

# List forms

> Retrieve all forms accessible to the authenticated user within their organization and site permissions.

**Optional Filtering**:
- `siteId`: Filter forms available for a specific site
- `year`: Filter forms configured for a particular year
- `status`: Filter by form status (active, draft, archived)

**Response includes**:
- Form summaries with basic metadata
- Element counts and types overview
- Site associations and deployment status
- Creation and modification timestamps
- Public access configuration
- Submission statistics and completion rates

**Form Categories**:
- **Environmental Data Collection**: Energy, water, waste, emissions
- **Compliance Reporting**: Regulatory requirements, certifications
- **Sustainability Surveys**: ESG data, supplier assessments
- **Operational Metrics**: Facility data, resource consumption

**Use Cases**:
- Dashboard and admin interface population
- Form selection for data entry workflows
- Reporting and analytics preparation
- Audit trail and compliance documentation



## OpenAPI

````yaml https://app.azalt.co/api/v1/openapi.json get /forms
openapi: 3.0.3
info:
  title: Erguvan Public API
  version: 1.0.0
servers:
  - url: https://app.azalt.co/api/v1
security: []
paths:
  /forms:
    get:
      tags:
        - Form
      summary: List forms
      description: >-
        Retrieve all forms accessible to the authenticated user within their
        organization and site permissions.


        **Optional Filtering**:

        - `siteId`: Filter forms available for a specific site

        - `year`: Filter forms configured for a particular year

        - `status`: Filter by form status (active, draft, archived)


        **Response includes**:

        - Form summaries with basic metadata

        - Element counts and types overview

        - Site associations and deployment status

        - Creation and modification timestamps

        - Public access configuration

        - Submission statistics and completion rates


        **Form Categories**:

        - **Environmental Data Collection**: Energy, water, waste, emissions

        - **Compliance Reporting**: Regulatory requirements, certifications

        - **Sustainability Surveys**: ESG data, supplier assessments

        - **Operational Metrics**: Facility data, resource consumption


        **Use Cases**:

        - Dashboard and admin interface population

        - Form selection for data entry workflows

        - Reporting and analytics preparation

        - Audit trail and compliance documentation
      operationId: listForms
      responses:
        '200':
          description: Successful response
          content:
            application/json:
              schema:
                type: array
                items:
                  type: object
                  properties:
                    formId:
                      type: string
                    name:
                      type: string
                    description:
                      type: string
                      nullable: true
                    isPublic:
                      type: boolean
                    metadata: {}
                    settings:
                      nullable: true
                    updatedAt:
                      type: string
                      nullable: true
                    tags:
                      type: array
                      items:
                        type: string
                    totalElements:
                      type: number
                    totalPossibleDataPoints:
                      type: number
                    totalExpectedDataPoints:
                      type: number
                    totalActivityCount:
                      type: number
                    formSiteCount:
                      type: number
                    formElements:
                      type: array
                      items:
                        type: object
                        properties:
                          id:
                            type: string
                          label:
                            type: string
                          type:
                            type: string
                            enum:
                              - NUMBER
                              - ACTIVITY
                              - SHORT_TEXT
                              - LONG_TEXT
                              - SINGLE_CHOICE
                              - MULTIPLE_CHOICE
                              - FILE_UPLOAD
                              - IMAGE
                              - GROUP
                              - PAGE
                              - TITLE
                              - PARAGRAPH
                              - DIVIDER
                        required:
                          - id
                          - label
                          - type
                    formSites:
                      type: array
                      items:
                        type: object
                        properties:
                          formSiteId:
                            type: string
                          siteId:
                            type: string
                          siteName:
                            type: string
                          year:
                            type: number
                          submissionCount:
                            type: number
                          dataCount:
                            type: number
                          filledElements:
                            type: number
                          activityCount:
                            type: number
                          progress:
                            type: number
                        required:
                          - formSiteId
                          - siteId
                          - siteName
                          - year
                          - submissionCount
                          - dataCount
                          - filledElements
                          - activityCount
                          - progress
                    overallProgress:
                      type: number
                    totalSubmissions:
                      type: number
                    totalDataCount:
                      type: number
                    years:
                      type: array
                      items:
                        type: number
                    sites:
                      type: array
                      items:
                        type: string
                    yearsText:
                      type: string
                    sitesText:
                      type: string
                    siteSearchText:
                      type: string
                    yearsMoreCount:
                      type: number
                    sitesMoreCount:
                      type: number
                    assignments:
                      type: array
                      items:
                        type: object
                        properties:
                          id:
                            type: string
                          organizationUserId:
                            type: string
                          createdAt:
                            type: string
                          userId:
                            type: string
                          name:
                            type: string
                            nullable: true
                          email:
                            type: string
                          image:
                            type: string
                            nullable: true
                          role:
                            type: string
                          accessibleSiteIds:
                            type: array
                            items:
                              type: string
                        required:
                          - id
                          - organizationUserId
                          - createdAt
                          - userId
                          - name
                          - email
                          - image
                          - role
                          - accessibleSiteIds
                  required:
                    - formId
                    - name
                    - description
                    - isPublic
                    - updatedAt
                    - tags
                    - totalElements
                    - totalPossibleDataPoints
                    - totalExpectedDataPoints
                    - totalActivityCount
                    - formSiteCount
                    - formElements
                    - formSites
                    - overallProgress
                    - totalSubmissions
                    - totalDataCount
                    - years
                    - sites
                    - yearsText
                    - sitesText
                    - siteSearchText
                    - yearsMoreCount
                    - sitesMoreCount
                    - assignments
        '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.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

````