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

# List Form

> Retrieves all forms with optional filtering. Requires authentication.

## Overview

Retrieves all forms with optional filtering by active status. This endpoint allows you to get a paginated list of all forms in your account.

## Query Parameters

| Parameter   | Type    | Required | Description                   | Example           |
| ----------- | ------- | -------- | ----------------------------- | ----------------- |
| `is_active` | boolean | No       | Filter forms by active status | `true` or `false` |

## Response

The response includes a paginated list of forms with the following structure:

* **`count`**: Total number of forms
* **`next`**: URL for next page (null if no more pages)
* **`previous`**: URL for previous page (null if first page)
* **`results`**: Array of form objects

## Form Object

Each form object contains:

* **`id`**: Internal form ID
* **`form_id`**: Unique form identifier
* **`name`**: Name of the form
* **`created`**: Creation timestamp
* **`modified`**: Last modification timestamp
* **`is_active`**: Whether the form is active
* **`usage_count`**: Number of QR codes this form is linked to
* **`entries_count`**: Number of form submissions collected
* **`conversion`**: Conversion rate as a percentage (entries / total scans × 100)
* **`linked_qrs`**: Array of QR codes linked to this form

## Examples

### Get All Forms

```bash theme={null}
curl -X GET "https://management.scanova.io/form/" \
  -H "Authorization: YOUR_API_KEY"
```

### Get Only Active Forms

```bash theme={null}
curl -X GET "https://management.scanova.io/form/?is_active=true" \
  -H "Authorization: YOUR_API_KEY"
```

### Get Only Inactive Forms

```bash theme={null}
curl -X GET "https://management.scanova.io/form/?is_active=false" \
  -H "Authorization: YOUR_API_KEY"
```

## Use Cases

* **Dashboard Overview**: Display all forms in your account
* **Active Management**: Filter to show only active forms
* **Analytics**: Get usage statistics and conversion rates for forms
* **QR Code Integration**: See which QR codes are linked to each form

<Note>
  Forms are the recommended way to capture user information when QR codes are scanned. They replace the legacy Lead Lists feature. Each form can be attached to multiple QR codes, but each QR code can only have one form attached at a time.
</Note>


## OpenAPI

````yaml GET /form/
openapi: 3.1.0
info:
  title: Scanova Form API
  description: Form management endpoints for creating, updating, and managing forms
  version: 1.0.0
servers:
  - url: https://management.scanova.io
    description: Production server
security:
  - apiKeyAuth: []
tags:
  - name: Form
    description: Form management operations
paths:
  /form/:
    get:
      tags:
        - Form
      summary: List Forms
      description: Retrieves all forms with optional filtering. Requires authentication.
      parameters:
        - name: is_active
          in: query
          description: Filter forms by active status
          required: false
          schema:
            type: boolean
          examples:
            active:
              summary: Active forms
              value: true
              description: Returns only active forms
            inactive:
              summary: Inactive forms
              value: false
              description: Returns only inactive forms
      responses:
        '200':
          description: List of forms
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/FormListResponse'
              examples:
                forms_list:
                  summary: Active forms
                  value:
                    count: 5
                    next: null
                    previous: null
                    results:
                      - id: 301
                        form_id: Fecb6be7be43b4724
                        name: Customer Feedback Form
                        created: '2024-03-15T10:30:00.000000+05:30'
                        modified: '2024-03-15T10:30:00.000000+05:30'
                        is_active: true
                        usage_count: 3
                        entries_count: 42
                        conversion: 68.5
                        linked_qrs:
                          - qr_code__id: 150157
                            qr_code__qrid: Qff07909fe1c14923
                            qr_code__name: Event Booth QR
                            qr_code__qr_type: dy
        '401':
          description: Unauthorized - Invalid API key
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/AuthenticationErrorResponse'
      security:
        - apiKeyAuth: []
components:
  schemas:
    FormListResponse:
      type: object
      properties:
        count:
          type: integer
          description: Total number of forms
          example: 5
        next:
          type: string
          description: URL for next page of results
          example: null
        previous:
          type: string
          description: URL for previous page of results
          example: null
        results:
          type: array
          items:
            $ref: '#/components/schemas/Form'
    AuthenticationErrorResponse:
      type: object
      properties:
        detail:
          type: string
          description: Authentication error message
          example: Invalid token.
    Form:
      type: object
      properties:
        id:
          type: integer
          description: Internal form ID
          example: 301
        form_id:
          type: string
          description: Unique form identifier
          example: Fecb6be7be43b4724
        name:
          type: string
          description: Name of the form
          example: Customer Feedback Form
        created:
          type: string
          format: date-time
          description: Creation timestamp
          example: '2024-03-15T10:30:00.000000+05:30'
        modified:
          type: string
          format: date-time
          description: Last modification timestamp
          example: '2024-03-15T10:30:00.000000+05:30'
        is_active:
          type: boolean
          description: Whether the form is active
          example: true
        usage_count:
          type: integer
          description: Number of QR codes this form is linked to
          example: 3
        entries_count:
          type: integer
          description: Number of form submissions collected
          example: 42
        conversion:
          type: number
          format: float
          description: Conversion rate as a percentage (entries / total scans * 100)
          example: 68.5
        linked_qrs:
          type: array
          description: QR codes linked to this form
          items:
            type: object
            properties:
              qr_code__id:
                type: integer
                example: 150157
              qr_code__qrid:
                type: string
                example: Qff07909fe1c14923
              qr_code__name:
                type: string
                example: Event Booth QR
              qr_code__qr_type:
                type: string
                example: dy
        data:
          type: string
          description: JSON string containing the form configuration
          example: >-
            [{"type":"page_layout","data":{"themeId":"ocean-clean"}},{"type":"design_info","data":{"color":{"background":"#C1E8FA"},"button":{"color":"#2D2B2B","textColor":"#FFFFFF","cornerRadius":2,"fontFamily":"Inter","showDropShadow":false},"text":{"headerTitle":{"color":"#2D2B2B","fontFamily":"Inter","fontSize":1},"body":{"color":"#2D2B2B","fontFamily":"Inter","fontSize":1},"privacy":{"color":"#2D2B2B","fontFamily":"Inter","fontSize":1}}}},{"type":"form_details","data":{"title":"Get
            in Touch with Us","description":"Interested in our services? Fill
            out the form and we'll get back to
            you.","questions":[{"question":"Full
            Name","answer":{"type":"shortAnswer"},"isRequired":true}]}},{"type":"submit_button","data":{"label":"Submit"}},{"type":"skip_button","data":{"label":"Skip"}}]
  securitySchemes:
    apiKeyAuth:
      type: apiKey
      in: header
      name: Authorization
      description: >-
        API key authentication. Enter your API key directly in the Authorization
        header.

````